Как слушать, когда флажок установлен в Jquery - PullRequest
59 голосов
/ 30 июля 2011

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

например,

<input type="checkbox">

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

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

Но это не такРаботаете, есть идеи?

Ответы [ 6 ]

109 голосов
/ 30 июля 2011

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

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

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

$('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);
});

Ссылки:

21 голосов
/ 30 июля 2011
$('input:checkbox').live('change', function(){
    if($(this).is(':checked')){
        alert('checked');
    } else {
        alert('un-checked');
    }
});

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

12 голосов
/ 30 июля 2011
$('input:checkbox').change(function(){
    if($(this).is(':checked')){
        alert('Checked');
    }
});

Вот демоверсия

2 голосов
/ 30 июля 2011

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

$('input:checkbox').change(function(){
   if(this.checked)
      alert('checked');
   else
      alert('not checked');
});
1 голос
/ 30 июля 2011
$("input:checkbox").change(function(){

alert($(this).val());

});

вот скрипка http://jsfiddle.net/SXph5/

jquery change

0 голосов
/ 30 июля 2011
$("input[type='checkbox']").click(function(){
    alert("checked"); 
});

Просто нормальный .click подойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...