2010-04-23 19 views

Odpowiedz

16

Spróbuj tego:

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); 

.

z jQuery:

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

Tylko dla wyjaśnienia - standardowy kod JS nie będzie pobierał elementów wejściowych, które nie znajdują się wewnątrz formularza. Linia jQuery będzie. – dmp

+0

@danp: tak teraz obie metody będą wybierać wszystkie pola wyboru z formularza. – Sarfraz

+0

W JQuery, podobnie jak $ ("wpisz wejście [typ = pole wyboru]: zaznaczone"), jak uzyskać szczegółowe informacje o identyfikatorze przedmiotu, który jest sprawdzany? – AKS

1

Spróbuj

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

@Yuriy Faktorovich: Tylko dla ilustracji. Teraz usunąłem go @Sarfraz: Masz rację. Poprawiłem to – kgiannakakis

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

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

+0

Jaka jest różnica między .length i .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

zmieniać długą drogę

trzeba podać nazwę klasy do wyboru i zrobić

var chkLength = $ ('input.className: checked'). Length;

alert (chkLength);

spowoduje to zaznaczenie wszystkich zaznaczonych pól wyboru z listy pól wyboru:

Powiązane problemy