为什么我的javascript复选框不能工作?

Why aren't my javascript checkboxes working?

本文关键字:工作 不能 复选框 我的 javascript 为什么      更新时间:2023-09-26
accessoryChoices = document.getElementsByName("accessories");
var accessoriesTotal;
function PressThis()
{
if (accessoryChoices[0].checked)
{
   accessoriesTotal = 56.45;

}
if (accessoryChoices[1].checked)
{
   accessoriesTotal += 115.35;
}
if (accessoryChoices[2].checked)
{
   accessoriesTotal += (7.25);
}
else 
{
   accessoriesTotal= 5.66;
}
document.getElementById('outputDiv').innerHTML= accessoriesTotal;
return;
}

我似乎不能显示正确的值。如果我同时按下所有的按钮,它们加起来,但如果我按下第一个按钮,它就会变成0。如果我按下底部的按钮它们加起来,但如果先按下最后一个按钮它就会变成NaN

accessoriesTotal从来没有一个值,所以你用一个数字添加了undefined

function PressThis() {
    var accessoriesTotal = 0;  //<--set it to zero

我不确定其他就是你真正想要的。如果他们没有选择最后一个,它将把所有设置为5.66。这是你想要的还是应该是+= ?


根据你的注释,你的代码应该是
function PressThis() {
    var accessoriesTotal = 0;
    if (accessoryChoices[0].checked) {
        accessoriesTotal += 56.45;
    }
    if (accessoryChoices[1].checked) {
        accessoriesTotal += 115.35;
    }
    if (accessoryChoices[2].checked) {
        accessoriesTotal += 7.25;
    }
    if (accessoriesTotal===0) {  // or if (!accessoryChoices[0].checked && !accessoryChoices[1].checked && !accessoryChoices[2].checked) {
       accessoriesTotal= 5.66;
    }
    document.getElementById('outputDiv').innerHTML= accessoriesTotal;
    return;
}