如果使用JavaScript

时间:2019-02-19 06:55:31

标签: javascript html

我有20个左右类型为add的checkbox类型的HTML输入。我试图使用一个普通的JavaScript函数来查找被检查的对象并从中获取值,然后将它们加起来并显示总计。可悲的是,我似乎无法正确提取值。

我一直在尝试使用document.getElementsByClassName获取复选框的值,然后如果选中了复选框,则循环遍历以提取这些值

function figure() {
    var totalCost = 0;
    var x = document.getElementsByClassName('add');
    var i = 0;
    for (i = 0; x.length; i++) {
        if (x[i].checked) {
            totalCost = totalCost + parseFloat(x[i].value);
        }
    }
    document.getElementById("TOTAL").innerHTML = "$" + totalCost;
}

我希望显示所有复选框,但是在 Chrome 中我什么也没收到,并且出现以下错误。

  

packageCal.html:151未被捕获的TypeError:无法读取HTMLInputElement.onclick(packageCal.html:142)上图(packageCal.html:151)上未定义的属性“选中” .checked){

1 个答案:

答案 0 :(得分:0)

在for循环中,继续循环的条件不正确。我在下面粘贴了正确的代码。

function figure() {
var totalCost = 0;
var x = document.getElementsByClassName('add');
var i = 0;
for (i = 0; i<=x.length; i++) {
    if (x[i].checked) {
        totalCost = totalCost + parseFloat(x[i].value);
    }
}
document.getElementById("TOTAL").innerHTML = "$" + totalCost;

}

如果错误仍然存​​在,请检查所有分配给您正在搜索的类名称的元素。