我一直在努力让这件事从其他帖子开始运作,但一直在碰壁。
我有一个“所有”按钮,我希望在最近的div类"apply_all“中选择所有或取消选择所有
我试着用一长组附加的div来完成这个任务
$(document).on('change', '.applyallsearches', (function() {
var applyallchecks = $(this).closest('.applyall');
if (this.checked) {
applyallchecks.find('input:checkbox').attr('checked');
} else {
applyallchecks.find('input:checkbox').removeAttr('checked');
}
})
);<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pet_selection">
Select pets<BR>
<div>
<input type="checkbox" class="applyallsearches" value="all">All
</div>
<div class="applyall">
<input type="checkbox" name="apply_all" value="1">Pet 1<BR>
<input type="checkbox" name="apply_all" value="2">Pet 2<BR>
<input type="checkbox" name="apply_all" value="3">Pet 3<BR>
<input type="checkbox" name="apply_all" value="4">Pet 4<BR>
<input type="checkbox" name="apply_all" value="5">Pet 5<BR>
<input type="checkbox" name="apply_all" value="6">Pet 6<BR>
<input type="checkbox" name="apply_all" value="7">Pet 7<BR>
<input type="checkbox" name="apply_all" value="8">Pet 8<BR>
</div>
<BR>Select pets<BR>
<div>
<input type="checkbox" class="applyallsearches" value="all">All
</div>
<div class="applyall">
<input type="checkbox" name="apply_all" value="1">Pet 1<BR>
<input type="checkbox" name="apply_all" value="2">Pet 2<BR>
<input type="checkbox" name="apply_all" value="3">Pet 3<BR>
<input type="checkbox" name="apply_all" value="4">Pet 4<BR>
<input type="checkbox" name="apply_all" value="5">Pet 5<BR>
<input type="checkbox" name="apply_all" value="6">Pet 6<BR>
<input type="checkbox" name="apply_all" value="7">Pet 7<BR>
<input type="checkbox" name="apply_all" value="8">Pet 8<BR>
</div>
<BR>Select pets<BR>
<div>
<input type="checkbox" class="applyallsearches" value="all">All
</div>
<div class="applyall">
<input type="checkbox" name="apply_all" value="1">Pet 1<BR>
<input type="checkbox" name="apply_all" value="2">Pet 2<BR>
<input type="checkbox" name="apply_all" value="3">Pet 3<BR>
<input type="checkbox" name="apply_all" value="4">Pet 4<BR>
<input type="checkbox" name="apply_all" value="5">Pet 5<BR>
<input type="checkbox" name="apply_all" value="6">Pet 6<BR>
<input type="checkbox" name="apply_all" value="7">Pet 7<BR>
<input type="checkbox" name="apply_all" value="8">Pet 8<BR>
</div>
</div>
发布于 2018-10-25 20:49:00
给您:(这对附加的div也是有效的)
$(document).on('change', '.applyallsearches', function() {
var applyallchecks = $(this).parents('.search-sec').find('[name="apply_all"]');
if (this.checked) {
applyallchecks.prop('checked','checked');
} else {
applyallchecks.removeAttr('checked');
}
})<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Select pets<BR>
<div class="search-sec">
<div>
<input type="checkbox" class="applyallsearches" value="all">All
</div>
<div class="applyall">
<input type="checkbox" name="apply_all" value="1">Pet 1<BR>
<input type="checkbox" name="apply_all" value="2">Pet 2<BR>
<input type="checkbox" name="apply_all" value="3">Pet 3<BR>
<input type="checkbox" name="apply_all" value="4">Pet 4<BR>
<input type="checkbox" name="apply_all" value="5">Pet 5<BR>
<input type="checkbox" name="apply_all" value="6">Pet 6<BR>
<input type="checkbox" name="apply_all" value="7">Pet 7<BR>
<input type="checkbox" name="apply_all" value="8">Pet 8<BR>
</div>
</div>
<BR>Select pets<BR>
<div class="search-sec">
<div>
<input type="checkbox" class="applyallsearches" value="all">All
</div>
<div class="applyall">
<input type="checkbox" name="apply_all" value="1">Pet 1<BR>
<input type="checkbox" name="apply_all" value="2">Pet 2<BR>
<input type="checkbox" name="apply_all" value="3">Pet 3<BR>
<input type="checkbox" name="apply_all" value="4">Pet 4<BR>
<input type="checkbox" name="apply_all" value="5">Pet 5<BR>
<input type="checkbox" name="apply_all" value="6">Pet 6<BR>
<input type="checkbox" name="apply_all" value="7">Pet 7<BR>
<input type="checkbox" name="apply_all" value="8">Pet 8<BR>
</div>
</div>
<BR>Select pets<BR>
<div class="search-sec">
<div>
<input type="checkbox" class="applyallsearches" value="all">All
</div>
<div class="applyall">
<input type="checkbox" name="apply_all" value="1">Pet 1<BR>
<input type="checkbox" name="apply_all" value="2">Pet 2<BR>
<input type="checkbox" name="apply_all" value="3">Pet 3<BR>
<input type="checkbox" name="apply_all" value="4">Pet 4<BR>
<input type="checkbox" name="apply_all" value="5">Pet 5<BR>
<input type="checkbox" name="apply_all" value="6">Pet 6<BR>
<input type="checkbox" name="apply_all" value="7">Pet 7<BR>
<input type="checkbox" name="apply_all" value="8">Pet 8<BR>
</div>
</div>
发布于 2018-10-25 20:28:47
您可以使用函数$.closest(),然后使用函数$.next()查找下一个兄弟姐妹,以选择所需的复选框。
//Event delegation
$(document).on('change', '.applyallsearches', function() {
$(this).closest('div')
.next('div.applyall')
.find('[name="apply_all"]')
.prop('checked', $(this).prop('checked'));
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Select pets<BR><div> <input type="checkbox" class="applyallsearches" value="all">All</div><div class="applyall"> <input type="checkbox" name="apply_all" value="1">Pet 1<BR> <input type="checkbox" name="apply_all" value="2">Pet 2<BR> <input type="checkbox" name="apply_all" value="3">Pet 3<BR> <input type="checkbox" name="apply_all" value="4">Pet 4<BR> <input type="checkbox" name="apply_all" value="5">Pet 5<BR> <input type="checkbox" name="apply_all" value="6">Pet 6<BR> <input type="checkbox" name="apply_all" value="7">Pet 7<BR> <input type="checkbox" name="apply_all" value="8">Pet 8<BR></div><BR>Select pets<BR><div> <input type="checkbox" class="applyallsearches" value="all">All</div><div class="applyall"> <input type="checkbox" name="apply_all" value="1">Pet 1<BR> <input type="checkbox" name="apply_all" value="2">Pet 2<BR> <input type="checkbox" name="apply_all" value="3">Pet 3<BR> <input type="checkbox" name="apply_all" value="4">Pet 4<BR> <input type="checkbox" name="apply_all" value="5">Pet 5<BR> <input type="checkbox" name="apply_all" value="6">Pet 6<BR> <input type="checkbox" name="apply_all" value="7">Pet 7<BR> <input type="checkbox" name="apply_all" value="8">Pet 8<BR></div><BR>Select pets<BR><div> <input type="checkbox" class="applyallsearches" value="all">All</div><div class="applyall"> <input type="checkbox" name="apply_all" value="1">Pet 1<BR> <input type="checkbox" name="apply_all" value="2">Pet 2<BR> <input type="checkbox" name="apply_all" value="3">Pet 3<BR> <input type="checkbox" name="apply_all" value="4">Pet 4<BR> <input type="checkbox" name="apply_all" value="5">Pet 5<BR> <input type="checkbox" name="apply_all" value="6">Pet 6<BR> <input type="checkbox" name="apply_all" value="7">Pet 7<BR> <input type="checkbox" name="apply_all" value="8">Pet 8<BR></div>
https://stackoverflow.com/questions/52997492
复制相似问题