Первый аргумент, переданный обратному вызову в each
, - это индекс, а не элемент. Вы должны использовать this
или второй аргумент:
$(':checkbox').each(function(idx, checkbox) {
if (checkbox.attr('checked'))
numberOfCheckboxesSelected++;
});
Более того, более простой способ сделать это - выбрать только отмеченные элементы с помощью селектора :checked
, а затем проверить свойство length
выбора:
var numberOfCheckboxesSelected = $('input:checkbox:checked').length;