Поскольку все остальные ответы основаны на jquery, я предложу чистое решение javascript. Принимая следующую форму:
<form id="myform">
<input type="checkbox" value="username1" name="check[0]" /><br/>
<input type="checkbox" value="userusername2" name="check[1]" /><br/>
<input type="checkbox" value="userusername3" name="check[2]" /><br/>
</form>
Вы можете вычислить количество элементов флажка с помощью следующей логики:
<script type="text/javascript">
var myform = document.getElementById('myform');
var inputTags = myform.getElementsByTagName('input');
var checkboxCount = 0;
for (var i=0, length = inputTags.length; i<length; i++) {
if (inputTags[i].type == 'checkbox') {
checkboxCount++;
}
}
alert(checkboxCount);
</script>
Кстати: как уже отмечали другие, атрибут id
в любом HTML-теге должен быть уникальным в документе. Я опустил ваши атрибуты id="1"
в моем примере HTML выше.
Обновление:
Если вы просто хотите посчитать все элементы-флажки на всей странице без использования содержащего элемента формы, это должно сработать:
<script type="text/javascript">
var inputTags = document.getElementsByTagName('input');
var checkboxCount = 0;
for (var i=0, length = inputTags.length; i<length; i++) {
if (inputTags[i].type == 'checkbox') {
checkboxCount++;
}
}
alert(checkboxCount);
</script>