Я новичок в jQuery и надеюсь, что кто-то здесь может помочь мне с этим вопросом.jQuery: Отметьте/снимите отметку со всех братьев и сестер с определенным классом
Я пытаюсь создать «все» флажок для включения/выключения всех своих одноуровневые флажков (т.е. те, под тем же DIV/родителя) - но только если они не имеют определенного класса ("other"
).
Мой подход заключался в том, чтобы вызвать наименьшее время запуска и написать его таким образом, чтобы его также можно было применять к аналогичным структурам в других div.
Код У меня есть работы без переключателя :not()
, но я не могу заставить его работать, когда я включаю это. Кроме того, я не уверен, что мой подход является лучшим/быстрым способом здесь.
Мой JQuery:
$('.checkAll').click(function(){
if($(this).is(':checked')){
$(this).siblings(":not($('.other'))").prop('checked', true);
}else{
$(this).siblings(":not($('.other'))").prop('checked', false);
}
});
Большое спасибо заранее за любую помощь, Mike
От w3.org: 'Примечание: Во время обработки события щелчка на входном элементе с атрибутом типа, который имеет«радио значение »или« checkbox », некоторые реализации могут изменить значение этого свойства до того, как событие будет отправлено в документе.« Поэтому вы должны использовать событие «change», даже если все современные браузеры поддерживают «click» событие красиво AFAIK. EDIT: только что проверил источник jQuery и, как обычно, это учитывается (нормализовано), см. Код ниже: –
'/ * Для флажка, инициировать собственное событие, проверенное государством, будет правильным */ \t \t \t trigger: function() { \t \t \t \t, если (jQuery.nodeName (это "вход") && this.type === "флажок" && this.click) { \t \t \t \t \t this.click(); \t \t \t \t \t return false; \t \t \t \t} \t \t \t} ' –
@ A.Wolff: Спасибо за это, как хорошо! – keewee279