我有一个treelist
包含多个级别的checkboxes
,我试图让父级checkbox
在任何子级'checked'
时显示为checkboxes
点击。由于某些原因,这不起作用,它正在杀了我。
JAVASCRIPT
$(function() {
$("input.boundChild[type=checkbox]").click(function() {
$(this).closest("input.boundParent").prop("checked", "checked");
});
});
HTML
<ul>
<li class="collapsed expanded">
<input id="0" class="boundParent" type="checkbox" >
Australia
<ul style="display: block;">
<li>
<input id="0/" class="boundChild" type="checkbox" checked="">
<input type="hidden" value="Intel Australia PTY Ltd.">
</li>
</ul>
</li>
</ul>
答案 0 :(得分:9)
input
个元素不能有子元素,在您的标记中input.boundParent
不是input.boundChild
的父母之一。它是ul
元素的兄弟。您可以使用prev
方法。
$(function() {
$("input.boundChild[type=checkbox]").click(function() {
$(this).closest('ul').prev().prop("checked", this.checked);
// $('input.boundParent').prop("checked", this.checked);
});
});
答案 1 :(得分:0)
尝试:
$(this).parent("li.expanded").find("input.boundParent").attr("checked","checked");
如果您选择孩子时父母李总是拥有expanded
课程。