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