我尝试通过单击父复选框来检查所有复选框 但是这段代码对于下面的ul段不起作用
<script>
$(function () {
$("input[type='checkbox']").change(function () {
$(this).siblings('ul')
.find("input[type='checkbox']")
.prop("checked", this.checked);
});
});
<script>
如果我使用最近而不是兄弟姐妹,它会检查潜艇中的所有复选框,无论父母是谁。
<nav class="main_navigation navbar navbar-default vertical_nav_enable" role="navigation">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<label class="checkbox">
<input type="checkbox"/>
<a href="/cat1" class="dropdown-toggle" data-toggle="dropdown">
Cat1
</a>
</label>
<ul class="dropdown-menu multi-level">
<li class="dropdown-submenu">
<label class="checkbox">
<input type="checkbox"/>
<a class="dropdown-toggle" data-toggle="dropdown" href="/subcat1">
SubCat1
</a>
</label>
</li>
<li class="dropdown-submenu">
<label class="checkbox">
<input type="checkbox"/>
<a class="dropdown-toggle" data-toggle="dropdown" href="/subcat2">
SubCat2
</a>
</label>
</li>
<li class="dropdown-submenu">
<label class="checkbox">
<input type="checkbox"/>
<a class="dropdown-toggle" data-toggle="dropdown" href="/subcat3">
SubCat3
</a>
</label>
</li>
</ul>
</li>
<li class="dropdown">
<label class="checkbox">
<input type="checkbox"/>
<a href="/cat2" class="dropdown-toggle" data-toggle="dropdown">
Cat2
</a>
</label>
<ul class="dropdown-menu multi-level">
<li class="dropdown-submenu">
<label class="checkbox">
<input type="checkbox"/>
<a class="dropdown-toggle" data-toggle="dropdown" href="/subcat4">
SubCat4
</a>
</label>
</li>
<li class="dropdown-submenu">
<label class="checkbox">
<input type="checkbox"/>
<a class="dropdown-toggle" data-toggle="dropdown" href="/subcat5">
SubCat5
</a>
</label>
</li>
<li class="dropdown-submenu">
<label class="checkbox">
<input type="checkbox"/>
<a class="dropdown-toggle" data-toggle="dropdown" href="/subcat6">
SubCat6
</a>
</label>
</li>
</ul>
</li>
</ul>
</div>
</nav>
答案 0 :(得分:0)
$(function () {
$("input[type='checkbox']").change(function () {
$(this).parent().siblings("ul")
.find("input[type='checkbox']")
.prop("checked", this.checked);
});
});
答案 1 :(得分:0)
$(function () {
$("input[type='checkbox']").change(function () {
$(this).closest('li')
.find("input[type='checkbox']")
.prop("checked", $(this).is(":checked"));
});
});
我在此链接中更新了解决方案。