【发布时间】:2014-12-10 13:52:09
【问题描述】:
首先,对不起我的英语;我有一个表单,其中有一个从表中获取的循环中的主复选框,以及与主复选框相关的内部复选框。
我的问题是:如果我选中主复选框,则只应启用父复选框,如果我选中一个子复选框,则其他复选框应仅在选中的父复选框下禁用,依此类推。我只是能够做到这一点,因为我是 jQuery 的新手,如果有人有解决方案,它将被应用。
$('input[class^="class"]').click(function() {
var $this = $(this);
if ($this.is(".class1")) {
if ($(".class1:checked").length > 0) {
$(".class3").prop({ disabled: false, checked: false });
} else {
$(".class3").prop("disabled", true);
}
} if ($this.is(".class3")) {
if ($this.is(":checked")) {
$(".class3").not($this).prop({ disabled: true, checked: false });
} else {
$(".class3").prop("disabled", false);
}
}
});
<ul>
<?php for($i=0; $i<=2; $i++){?>
<li><input type="checkbox" name="checkbox[]" class="class1" value="Checkbox1" />Checkbox1</a>
<ul>
<li><a href="#"><input type="checkbox" name="checkbox[]" class="class3" value="Checkbox2" disabled="disabled" />Checkbox2</a></li>
<li><a href="#"><input type="checkbox" name="checkbox[]" class="class3" value="Checkbox3" disabled="disabled" />Checkbox2</a></li>
</ul>
</li><?php }?>
【问题讨论】:
-
那句话...
} `if ($this.is(".class3")) { -
请按照@AndreasFurster 的建议更正代码,并分享一个 jsfiddle 来澄清问题。
-
我根据您的要求更新代码。请立即检查。