2010-04-23 7 views
9

Ich versuche, eine JavaScript-Funktion zu machen (obwohl jquery völlig in Ordnung ist), die eine Zahl zurückgibt, die der Anzahl der Checkboxen in einem Formular entspricht. Scheint einfach genug, aber ich kann mir keinen guten Weg vorstellen.Holen Sie sich die Anzahl der Checkboxen in Javascript

Danke.

Antwort

16

Try this:

var formobj = document.forms[0]; 

var counter = 0; 
for (var j = 0; j < formobj.elements.length; j++) 
{ 
    if (formobj.elements[j].type == "checkbox") 
    { 
     if (formobj.elements[j].checked) 
     { 
      counter++; 
     } 
    }  
} 

alert('Total Checked = ' + counter); 

.

Mit JQuery:

alert($('form input[type=checkbox]:checked').size()); 
+0

Nur zur Klarstellung - der Standard-JS-Code wird nicht Eingabeelemente, die nicht in einem Formular sind. Die jQuery Zeile wird. – dmp

+0

@danp: Ja, jetzt wählen beide Wege alle Checkboxen aus einem Formular. – Sarfraz

+0

Mit der JQuery, wie $ ('form input [type = checkbox]: checked'), wie erhalten Sie die Details über die ID des Artikels, der überprüft wird? – AKS

1

Versuchen

$(":checkbox").filter(":checked").size() 
+1

@Yuriy Faktorowitsch gove: Nur zur Illustration. Ich habe es jetzt entfernt @Sarfraz: Du hast Recht. Ich habe es korrigiert – kgiannakakis

2
var chk = $('form').find('input[type=checkbox]:checked').length 
4

$('form :checkbox:checked').length

+0

Was ist der Unterschied zwischen. Length und .size()? – Mint

+0

@Mint http://stackoverflow.com/questions/2738352/jquery-size-method-vs-length-attribute –

4
var checkBoxs = $('#myForm').children('input[type="checkbox"]:checked'); 
alert(checkBoxs.length); 
0

variieren langer Weg

Sie haben den Klassennamen zu geben, Checkbox und tun

var chkLength = $ ('input.className: checked'). Länge;

Warnung (chkLength);

dies wird alle markierten Kontrollkästchen aus der Liste der Kontrollkästchen

Verwandte Themen