2009-05-16 11 views
30

Voglio contare quante caselle di controllo è stata selezionata da un utente. Ad esempio, da un gruppo di 10 caselle di controllo se seleziona 5, quindi voglio essere in grado di contarlo. Utilizzando la linea:Come ottenere un conteggio di tutte le caselle di controllo selezionate su una pagina

$(":checkbox:checked") 

posso selezionare tutte le caselle di controllo controllato, c'è un modo per ottenere il conteggio di tutti gli elementi che vengono restituiti da questa affermazione come bene?

risposta

58

Utilizzare il metodo size() o la proprietà length. La proprietà della lunghezza è preferita in quanto è più veloce.

Esempio:

var count = $("[type='checkbox']:checked").length; 
+1

grazie, non sapeva lunghezza potrebbe essere utilizzato con jquery –

+1

ingresso uso prima: casella, poiché senza che sia valutato come *: casella facendone esecuzione lenta –

+0

ho riutilizzato suo esempio. L'ho aggiornato con il selettore preferito sfruttando i metodi DOM nativi da: checkbox è stato deprecato. – tvanfosson

1

utilizzando jQuery:

var cbs = $("input:checkbox"); //find all checkboxes 
var nbCbs = cbs.size(); //the number of checkboxes 

var checked = $("input[@type=checkbox]:checked"); //find all checked checkboxes + radio buttons 
var nbChecked = checked.size(); 

Utilizzando JavaScript:

var inputs = document.getElementsByTagName("input"); //or document.forms[0].elements; 
var cbs = []; //will contain all checkboxes 
var checked = []; //will contain all checked checkboxes 
for (var i = 0; i < inputs.length; i++) { 
    if (inputs[i].type == "checkbox") { 
    cbs.push(inputs[i]); 
    if (inputs[i].checked) { 
     checked.push(inputs[i]); 
    } 
    } 
} 
var nbCbs = cbs.length; //number of checkboxes 
var nbChecked = checked.length; //number of checked checkboxes 

Fonte: How to find Checkboxes? at coderanch

Problemi correlati