Прикрепить не отмеченные флажки обратного вызова при изменении - PullRequest
0 голосов
/ 23 января 2012

Итак, у меня есть сетка с флажком.В jquery я хотел бы написать функцию, которая будет что-то делать, когда установлен непроверенный флажок.

function clickAllSize() {
    alert("helloy");
}

$(document).ready(function () {
    $("input :checkbox:not(checked)").change(clickAllSize());
});

Проблема заключается в том, что функция запускается сразу при загрузке страницы, до любого нажатия.Последующая проверка / снятие галочки не вызывает оповещение.

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Это должно это:

$(document).ready(function () {
    $('input[type="checkbox"]:not(checked)').change(clickAllSize);
});
  1. В обратном вызове изменения вы должны дать имя функции, а не вызывать ее.
  2. Из документов :

, поскольку: флажок является расширением jQuery и не является частью спецификации CSS, запросы с использованием флажка: не могут использовать преимущество повышения производительности, обеспечиваемое собственным методом DOM querySelectorAll (). Для повышения производительности в современных браузерах используйте вместо этого [type = "checkbox"].

Jquery предназначен для работы с 0 + выбранными элементами, поэтому всегда при отладке кода JQuery проверяйте длину селектора:

var amount = $("input :checkbox:not(checked)").length;
alert(amount);  // -Probably 0...
0 голосов
/ 23 января 2012

Удалить () после change(clickAllSize())

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