jQuery - как выбрать все флажки, кроме определенного?
У меня есть селектор jQuery, который выглядит так ...
$("input:checkbox").click(function(event) {
// DO STUFF HERE
}
все работало хорошо, пока меня не попросили добавить еще один флажок, который не имеет ничего общего с оригинальными флажками. Как создать селектор для всех флажков, кроме одного? Спасибо.
4 ответов
$('input:checkbox:not("#thatCheckboxId")').click(function(event) {
// DO STUFF HERE
}
просто установите флажок в вопросе уникальный id=""
вы можете сделать следующее:
$("input:checkbox").not(":eq(0)")
будучи" 0 " индексом желаемого флажка (в данном случае первым на DOM)
хорошо.. нам нужно больше узнать о HTML для конкретного ответа, но есть два метода, которые я могу придумать.
1) Если вы знаете имя того, что вы не хотите, то удалите его с помощью not
$("input:checkbox").not('#the_new_checkbox_id').click(function(event) {
// DO STUFF HERE
}
2) Используйте то, что правильные входы имеют общее, чтобы выбрать их.
$("input:checkbox[name=whatItIsNamed]").click(function(event) {
// DO STUFF HERE
}
Если все флажки находятся в другом элементе, вы можете выбрать все флажки в этом элементе.
вот пример с одним родительским элементом.
<div class="test"><input type="checkbox"><input type="checkbox"></div>
jQuery ниже также работает с несколькими divs:
<div class="test"><input type="checkbox"><input type="checkbox"></div>
<div class="test"><input type="checkbox"><input type="checkbox"></div>
jQuery:
$('.test input:checkbox')
который выбирает только флажки внутри любого элемента с классом "test".
-Sunjay03