2013-11-12 3 views
0

Я делаю программу, которая добавляет 500 к сумме для каждого флажка, который отмечен, поэтому я хотел бы знать, что такое JS для определения того, сколько флажков отмечено в форме. Благодаря!Как создать функцию javaScript, которая подсчитывает количество флажков?

Примечание: Я не могу использовать jQuery, он должен быть прямым JS, извините, ребята!

+0

jquery allowed? потому что это будет более быстрая функция. Также у них есть одно и то же имя? или они могут? http://stackoverflow.com/questions/8563240/how-to-get-all-checked-checkboxes – abc123

ответ

1

Использование JQuery:

var $checked = $("input[type=checkbox]:checked"); 

alert($checked.length); 
+0

используя jquery, это сработает. – abc123

+1

@ abc123 Вам не нужен jQuery, встроенная функция 'querySelectorAll' поддерживает селектор': checked'. – plalx

+0

@plalx, ​​и поэтому ваш ответ лучше, я не сказал, что для этого требуется jQuery, я говорил этот ответ Стиву. ;) – abc123

3

Используйте :checked селектор, поддерживаемый element.querySelectorAll.

DEMO

var checkedCheckboxes = yourForm.querySelectorAll('input[type="checkbox"]:checked'); 

Поэтому, чтобы получить сумму, которую вы можете сделать:

var sum = checkedCheckboxes.length * 500; 
+0

Поддерживается с FF3.5, Chrome 1, Opera 10, Safari 3.2 и IE9! – some

1

Без JQuery, совместимый со старыми браузерами, как IE6-8.

var form = document.getElementById('id-of-form'); 
var list = form.getElementsByTagName('input'); 
var count = 0; 
for (var idx=0, len = list.length; idx < len; ++idx) { 
    if (list[idx].checked) ++count; 
} 
alert(count); 
Смежные вопросы