基本上我有2级设置:
Parent
Child
Sub Child
Sub Sub child
Parent1
Child 1
Sub Child 1
etc..
我的整体重点是如果检查子或子,则应检查其父节点。如果我们试图检查孩子而不是父母意味着我们不能允许在检查其子节点时取消选中父节点。但我们可以检查取消选中父级,而不检查子级或子级。
我的代码:
jQuery('li :checkbox').change(function() {
var $parent = $(this).parents().eq(2);
$parent.children('li :checkbox').prop('checked', $parent.find('li :checkbox:checked').size() > 0).change();
});
HTML:
<ul id="treeList">
<li>
<input type="checkbox" name="selectedRole">
Application Manager
<ul>
<li>
<input type="checkbox" name="selectedRole">
Application Manager Panel
</li>
<li>
<input type="checkbox" name="selectedRole">
Client Role
<ul>
<li>
<input type="checkbox" name="selectedRole">
Client Task 1
</li>
<li>
<input type="checkbox" name="selectedRole">
Client Task 2
</li>
</ul>
</li>
<li>
<input type="checkbox" name="selectedRole">
Client Role
<ul>
<li>
<input type="checkbox" name="selectedRole">
Client Task 1
</li>
<li>
<input type="checkbox" name="selectedRole">
Client Task 2
</li>
</ul>
</li>
</ul>