我正在尝试计算当前所在面板上复选框元素的数量。发生的是,我在4个面板上都有复选框,每个面板上都有复选框。 一次只能打开一个面板。当我对复选框进行计数时,我得到的是应用程序中所有复选框的总数,而不是显示的面板上的数字。
我尝试专门告诉代码这是打开的窗口
var a = angular.element(document.querySelector('[widget-id =“ popup-1”]
div'))。scope()。$ parent.me.visible
但无济于事,
我不确定如何告诉代码这是打开的面板,仅在其上选中复选框即可。
我试图计算盒子的数量,然后比较选中的盒子,如果num =选中,那么我将继续。
$scope.checkNum = function() {
// var a = angular.element(document.querySelector('[widget-id="popup-1"]
div')).scope().$parent.me.visible
var inputs = document.getElementsByTagName("input");
//or document.forms[0].elements;
var cbs = [];
//will contain all checkboxes
var checked = [];
//will contain all checked checkboxes
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox") {
cbs.push(inputs[i]);
if (inputs[i].checked) {
checked.push(inputs[i]);
}
}
}
var nbCbs = cbs.length;
//number of checkboxes
var nbChecked = checked.length;
//number of checked checkboxes
alert("# checkboxes = " + nbCbs + "\n" + "# checked checkboxes = " +
nbChecked);
console.log(" # checked checkboxes = " + nbChecked);
}
答案 0 :(得分:1)
假设您当前的面板如下所示
var test = document.getElementById("dv_Test");
get_CheckboxCount(test);
function get_CheckboxCount(element) {
var check = element.querySelectorAll("input[type=checkbox]");
console.log(check.length);
}
<div id="dv_Test">
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
<div id="dv_Test2">
<input type="checkbox" />
</div>