我有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){
答案 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;
}
如果错误仍然存在,请检查所有分配给您正在搜索的类名称的元素。