Подтвердить что ты не робот

Как прослушать, когда флажок установлен в JQuery

Мне нужно знать, когда отмечен любой флажок на странице:

например.

<input type="checkbox">

Я попробовал это в JQuery

$('input type=["checkbox"]').change(function(){
alert('changed');
});

Но это не сработало, никаких идей?

4b9b3361

Ответ 1

Используйте событие change() и тест is():

$('input:checkbox').change(
    function(){
        if ($(this).is(':checked')) {
            alert('checked');
        }
    });

Я обновил выше, из-за моей глупой зависимости от jQuery (в if), когда свойства DOM будут одинаково подходящими, а также более дешевыми в использовании. Также был изменен селектор, чтобы он мог быть передан в тех браузерах, которые его поддерживают, методу DOM document.querySelectorAll():

$('input[type=checkbox]').change(
    function(){
        if (this.checked) {
            alert('checked');
        }
    });

Ради завершения, то же самое легко можно сделать и в простом JavaScript:

var checkboxes = document.querySelectorAll('input[type=checkbox]'),
    checkboxArray = Array.from( checkboxes );

function confirmCheck() {
  if (this.checked) {
    alert('checked');
  }
}

checkboxArray.forEach(function(checkbox) {
  checkbox.addEventListener('change', confirmCheck);
});

Литература:

Ответ 2

$('input:checkbox').live('change', function(){
    if($(this).is(':checked')){
        alert('checked');
    } else {
        alert('un-checked');
    }
});

jsfiddle: http://jsfiddle.net/7Zg3x/1/

Ответ 4

Попробуйте это

$('input:checkbox').change(function(){
   if(this.checked)
      alert('checked');
   else
      alert('not checked');
});

Ответ 6

$("input[type='checkbox']").click(function(){
    alert("checked"); 
});

Только обычный .click будет делать.