簡體   English   中英

為什么我的JavaScript復選框不起作用?

[英]Why aren't my javascript checkboxes working?

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。

您永遠不會用值設置附件總數,因此您可以用數字添加未定義。

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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM