日期:2014-05-17  浏览次数:20427 次

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); //每组没选中的个数
    }