Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算视图中打开对象上的复选框数?_Javascript_Angularjs_Checkbox - Fatal编程技术网

Javascript 如何计算视图中打开对象上的复选框数?

Javascript 如何计算视图中打开对象上的复选框数?,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我试图计算当前面板上复选框元素的数量。我在4个面板上都有复选框,每个面板上都有复选框。 一次只能打开一个面板。当我对复选框进行计数时,我得到的是我应用程序中所有复选框的总数,而不是我显示的面板上的数字 我已经试着告诉代码这是打开的窗口 var a=angular.element(document.querySelector('[widget id=“popup-1”] div')).scope().$parent.me.visible 但无济于事, 我不知道如何告诉代码这是打开的面板,只计算上面

我试图计算当前面板上复选框元素的数量。我在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);
}
$scope.checkNum=function(){
//var a=angular.element(document.querySelector('[widget id=“popup-1”]
div')).scope().$parent.me.visible
var inputs=document.getElementsByTagName(“输入”);
//或文档。表单[0]。元素;
var cbs=[];
//将包含所有复选框
检查的var=[];
//将包含所有选中的复选框
对于(变量i=0;i
假设您当前的面板如下所示

var-test=document.getElementById(“dv_测试”);
获取CheckboxCount(测试);
函数get_CheckboxCount(元素){
var check=element.querySelectorAll(“输入[type=checkbox]”);
控制台日志(检查长度);
}


请给我们您的HTML代码好吗?请分享Jack,我没有HTML,因为它是在幕后生成的。如果有帮助的话,我可以从开发者工具->源码中找到它。@user5451365请看我的答案,告诉我它是否解决了你的问题,我会检查它。非常感谢你可以点击Run code snippet并尝试它是否正常工作,html是angularjs,我无法确定复选框所在元素的id…我使用我们的产品之一是拖放,你可以拖动小部件(“面板”)或(“gridlayout”)和(“复选框”)在画布上,然后您可以使用Javascript绑定到这些小部件。。我知道,不容易…让我们。