2011-11-04 5 views
37

Ho tonnellate di caselle di controllo selezionate (checked="checked") o deselezionate.Come contare le check-box usando jQuery?

Vorrei ottenere il numero di tutte le caselle di controllo, deselezionate e spuntate caselle di controllo.

Con casella di controllo intendo <input type="checkbox" />.

Come fare con jQuery? Grazie in anticipo!

risposta

117

Si potrebbe fare:

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

EDIT

O anche semplici

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

Il seguente codice ha funzionato per me.

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

Si supponga di disporre di una riga tr con più caselle di controllo e di contare solo se la prima casella di controllo è selezionata.

Si può fare dando una classe per la prima casella di controllo

Per esempioclass='mycxk' e si può contare che utilizzando il filtro, come questo

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

Ci sono diversi metodi per farlo :

Metodo 1:

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

Metodo 2:

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

Metodo 3:

alert($(":checkbox:checked").length);