当前位置: 代码迷 >> ASP.NET >> Jquery获取到div中checkbox中每一组的数量解决思路
  详细解决方案

Jquery获取到div中checkbox中每一组的数量解决思路

热度:3525   发布时间:2013-02-25 00:00:00.0
Jquery获取到div中checkbox中每一组的数量
就是在一个div中有多个checkbox,checkbox有分组,我想知道如何去获取checkbox的分组数量和checkbox每一组中checkbox选中的个数.
注:不知道checkbox的组名.即name,只知道div的id,假设为:chkDiv

------解决方案--------------------------------------------------------
可以取得所有的checkbox了.之后去遍历了得出结果.
------解决方案--------------------------------------------------------
$("divid :checkbox]").length
$("divid input:checked]").length
------解决方案--------------------------------------------------------
JScript code
var checkBoxs=$("divid :checkbox]");var checkBoxNames="";for(var i=0;i<checkBoxs.length;i++)  {    if(checkBoxNames.indexOf(checkBox[i].attr("name"))<0)    {      checkBoxNames+=checkBox[i].attr("name")+";";    }  }var cbNameArr=checkBoxNames.split(';');  alert("分组数量为:"+cbNameArr.length);for(var i=0;i<cbNameArr.length;i++){  alert(cbNameArr[i]+"组中选中数为:"+$("divid input[name='"+cbNameArr[i]+"']:checked").length);}
------解决方案--------------------------------------------------------
大概思路:找到组名;在组名中找到选中的项。
JScript code
 var arr = [];    $(":checkbox", "#chkDiv").each(function () {        arr.push($(this).attr("name")); //请确保都有组名属性Name    });    arr = $.unique(arr); //合并重复的    var groupCount = arr.length; //组数    for (var i = 0; i < groupCount; i++) {        alert($("input[name=" + arr[i] + "] :checked").length); //每组没选中的个数    }
  相关解决方案