2010-04-23 3 views
9

Я пытаюсь создать javascript-функцию (хотя jquery отлично работает), которая вернет число, соответствующее количеству отмеченных флажков в форме. Кажется достаточно простым, но я не могу понять, как это сделать.Получить количество флажков, отмеченных в Javascript

Спасибо.

ответ

16

Попробуйте это:

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

.

С JQuery:

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

Просто для уточнения - стандартный JS-код не будет забирать элементы ввода, которые не находятся внутри формы. Линия jQuery будет. – dmp

+0

@danp: да теперь оба способа будут выбирать все флажки из формы. – Sarfraz

+0

С помощью JQuery, например $ ('form input [type = checkbox]: checked'), как получить информацию об идентификаторе проверяемого элемента? – AKS

1

Попробуйте

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

@Yuriy Факторович: Просто для иллюстрации. Теперь я удалил его @Sarfraz: Вы правы. Я исправил его – kgiannakakis

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

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

+0

Какая разница между .length и .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

меняться длинный путь

вы должны дать имя класса CheckBox и сделать

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

предупреждение (chkLength);

это Гоув все проверено Флажки из списка флажка

Смежные вопросы