日期:2014-05-17 浏览次数:20432 次
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); }
------解决方案--------------------
大概思路:找到组名;在组名中找到选中的项。
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); //每组没选中的个数 }