问题
I have tons of checkboxes that are either checked (checked="checked"
) or unchecked.
I would like to get the number of all checkboxes, unchecked and checked checkboxes.
With check-box I mean <input type="checkbox" />
.
How to do it with jQuery? Thanks in advance!
回答1:
You could do:
var numberOfChecked = $('input:checkbox:checked').length;
var totalCheckboxes = $('input:checkbox').length;
var numberNotChecked = totalCheckboxes - numberOfChecked;
EDIT
Or even simple
var numberNotChecked = $('input:checkbox:not(":checked")').length;
回答2:
The following code worked for me.
$('input[name="chkGender[]"]:checked').length;
回答3:
Assume that you have a tr row with multiple checkboxes in it, and you want to count only if the first checkbox is checked.
You can do that by giving a class to the first checkbox
For example class='mycxk'
and you can count that using the filter, like this
$('.mycxk').filter(':checked').length
回答4:
There are multiple methods to do that:
Method 1:
alert($('.checkbox_class_here:checked').size());
Method 2:
alert($('input[name=checkbox_name]').attr('checked'));
Method 3:
alert($(":checkbox:checked").length);
回答5:
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;
Complete code
$('checkbox.className').blur(function() {
//count only checked checkbox
$('checkbox[name=myAllcheckBoxName]:checked').length;
});
来源:https://stackoverflow.com/questions/8011556/how-to-count-check-boxes-using-jquery