我有这段代码,它会检查已经检查过的每个复选框。我试着计算复选框检查的次数。
如果选中框1和2,它应该将值解析为一个数组,如[“1”,“2”]。但相反,它会像[“1”],[“2”]一样对数组进行计数。即使这样尝试将计数推入数组也不起作用。我从Chrome开发者工具获得的这些信息。
我试图将它推送到数组:
var count = document.querySelectorAll('input[name="check"]:checked').length;
var arr = [];
arr.push(count);
如果你们看到我的代码,也许更容易理解。好了!
如果选中复选框,则此功能会检查复选框中的更改 或不。
function chBox()
{
$("#allCheckboxes").on("change", "input[name=check]", function() {
var array;
if ($(this).is(':checked')) {
var count = document.querySelectorAll('input[name="check"]:checked').length;
var arr = [];
arr.push(count);
document.getElementById("toppings").innerHTML = count;
console.log(arr);
//alert($(this).val());
// alert(document.querySelectorAll('input[name="check"]:checked').length);
//document.getElementById("pieCrust").innerHTML = $(this).val();
}
else {
alert("not checked");
}
});
}
这些输入名称属性为“check”,如果我需要的话 推送一个数组而不是多个数组。
<!--Pepperoni-->
<input class="form-check-input " name="check" type="checkbox" id="Pepperoni" value="Pepperoni">
<label class="form-check-label " for="Pepperoni">Pepperoni</label>
<!--Sausage-->
<input class="form-check-input chk" name="check" type="checkbox" id="Sausage" value="Sausage">
<label class="form-check-label" for="Sausage">Sausage</label>
答案 0 :(得分:0)
您需要在arr
$("#allCheckboxes").on(...)
您可能会对额外的数组array
感到困惑,您的代码中未使用此额外变量。
function chBox() {
$("#allCheckboxes").on("change", "input[name=check]", function() {
var arr = []; // This is the place where you to declare your array.
if ($(this).is(':checked')) {
var count = document.querySelectorAll('input[name="check"]:checked').length;
arr.push(count);
document.getElementById("toppings").innerHTML = count;
console.log(arr);
} else {
alert("not checked");
}
});
}