我有一个用php sql生成的复选框树,结构如下:
<input class="level_" name="1" type="checkbox" /> Parent element
<input class="level_z" name="153" type="checkbox" /> Child element
<input class="level_z" name="481" type="checkbox" /> Child element
<br/>
<input class="level_" name="5" type="checkbox" /> Parent element
<input class="level_zz" id="845" type="checkbox" /> Child element
<input class="level_zz" id="5613" type="checkbox" /> Child element
<input class="level_" name="2" type="checkbox" /> Parent element
<input class="level_z" name="154" type="checkbox" /> Child element
<input class="level_z" name="482" type="checkbox" /> Child element
<br/>
<input class="level_" name="8" type="checkbox" /> Parent element
<input class="level_zz" id="659" type="checkbox" /> Child element
<input class="level_zz" id="3643" type="checkbox" /> Child element
我希望在选择父级时选择子元素,但由于所有父级和子级具有相同的ID,因此我不能将它们视为单个组。我有一个jquery设法选择父母之后的所有level_zz子项,直到下一个父级,但这还不够:
$('.level_').change(function() {
$(".level_").nextUntil(".level_zz").attr('checked', $(this).attr('checked'));
});
我不知道如何在没有唯一父标识的情况下执行此操作,也无法更改复选框的生成方式。
我希望代码是:
"if certain parent (no unique class but unique name) is selected select all it's children too."
答案 0 :(得分:1)
你可以,
$('.level_').change(function() {
$(this).nextUntil(".level_").prop('checked', this.checked);
});
this
(当前对象)。nextUntil(next parent selector)
选择当前元素之后和下一个父元素之前的所有子元素。