web-dev-qa-db-fra.com

Comment compter les cases à cocher avec jQuery?

J'ai des tonnes de cases à cocher qui sont soit cochées (checked="checked") ou décochée.

Je voudrais obtenir le nombre de toutes les cases à cocher, cases à cocher et cochées.

Avec case à cocher, je veux dire <input type="checkbox" />.

Comment le faire avec jQuery? Merci d'avance!

40
daGrevis

Vous pourriez faire:

var numberOfChecked = $('input:checkbox:checked').length;
var totalCheckboxes = $('input:checkbox').length;
var numberNotChecked = totalCheckboxes - numberOfChecked;

MODIFIER

Ou même simple

var numberNotChecked = $('input:checkbox:not(":checked")').length;
132

Le code suivant a fonctionné pour moi.

$('input[name="chkGender[]"]:checked').length;
10

Supposons que vous avez une ligne tr avec plusieurs cases à cocher et que vous souhaitez compter uniquement si la première case est cochée.

Vous pouvez le faire en donnant une classe à la première case à cocher

Par exempleclass='mycxk' et vous pouvez compter qu'en utilisant le filtre, comme ceci

$('.mycxk').filter(':checked').length
8

Il existe plusieurs méthodes pour le faire:

Méthode 1:

alert($('.checkbox_class_here:checked').size());

Méthode 2:

alert($('input[name=checkbox_name]').attr('checked'));

Méthode 3:

alert($(":checkbox:checked").length);
2
Hasnain Mehmood

Vous pouvez le faire en utilisant l'attribut de nom, la classe, l'id ou simplement une case à cocher universelle; Si vous voulez compter uniquement coché nombre de cases à cocher.

Par le nom de la classe:

var countChk = $('checkbox.myclassboxName:checked').length;

Par nom attribut:

var countByName= $('checkbox[name=myAllcheckBoxName]:checked').length;

Code complet

$('checkbox.className').blur(function() {
    //count only checked checkbox 
    $('checkbox[name=myAllcheckBoxName]:checked').length;
});
0
CodeLover