我有大量的复选框已经过检查(checked="checked"
)或未经检查。
我想获取所有复选框的数量,取消选中并选中复选框。
使用复选框,我的意思是<input type="checkbox" />
。
如何用jQuery做到这一点?提前谢谢!
答案 0 :(得分:131)
你可以这样做:
var numberOfChecked = $('input:checkbox:checked').length;
var totalCheckboxes = $('input:checkbox').length;
var numberNotChecked = totalCheckboxes - numberOfChecked;
修改
甚至简单
var numberNotChecked = $('input:checkbox:not(":checked")').length;
答案 1 :(得分:10)
以下代码对我有用。
$('input[name="chkGender[]"]:checked').length;
答案 2 :(得分:7)
假设您有一个包含多个复选框的tr行,并且只有在选中第一个复选框时才想要计数。
您可以通过向第一个复选框提供课程来实现这一目标
例如 class='mycxk'
您可以使用过滤器计算,例如
$('.mycxk').filter(':checked').length
答案 3 :(得分:2)
有多种方法可以做到这一点:
方法1:
alert($('.checkbox_class_here:checked').size());
方法2:
alert($('input[name=checkbox_name]').attr('checked'));
方法3:
alert($(":checkbox:checked").length);
答案 4 :(得分:0)
You can do it by using name attibute, class, id or just universal checkbox; If you want to count only checked number of checkbox.
By the class name :
var countChk = $('checkbox.myclassboxName:checked').length;
By name attribute :
var countByName= $('checkbox[name=myAllcheckBoxName]:checked').length;
$('checkbox.className').blur(function() {
//count only checked checkbox
$('checkbox[name=myAllcheckBoxName]:checked').length;
});