Привязать к changeсобытию вместо click. Тем не менее, вам, вероятно, все еще нужно будет проверить, установлен ли флажок:
$(".checkbox").change(function() {
if(this.checked) {
//Do stuff
}
});
Основное преимущество привязки к changeсобытию над clickсобытием заключается в том, что не все щелчки по флажку приведут к его изменению состояния. Если вы хотите захватывать только события, которые приводят к изменению состояния флажка, вам нужно changeсобытие с точным именем . Отредактировано в комментариях
Также обратите внимание, что я использовал this.checkedвместо того, чтобы обернуть элемент в объект jQuery и использовать методы jQuery, просто потому что он короче и быстрее для доступа к свойству элемента DOM напрямую.
Изменить (см. Комментарии)
Чтобы получить все флажки у вас есть несколько вариантов. Вы можете использовать :checkboxпсевдо-селектор:
$(":checkbox")
Или вы можете использовать атрибут равный селектор:
$("input[type='checkbox']")