如果选中“选择不回答”,我需要禁用其他复选框,这是我的代码和HTML,有关为什么它不起作用的任何帮助?
码
function toggleStatus() {
if ($('#toggleElement').is(':checked')) {
$('#living :input').attr('disabled', true);
} else {
$('#living :input').removeAttr('disabled');
}
HTML
<p>With whom do you live? Choose all that apply<br/>
<input type="checkbox" name="living" value="alone" id="living">
Live alone <br>
<input type="checkbox" name="living" value="husband" id="living">
Husband <br>
<input type="checkbox" name="living" value="partner" id="living">
Partner <br>
<input type="checkbox" name="living" value="children" id="living">
Children <br>
<input type="checkbox" name="living" value="parents" id="living">
Parents <br>
<input type="checkbox" name="living" value="other_relatives" id="living">
Other relatives <br>
<input type="checkbox" name="living" value="religion" id="living">
Religious order <br>
<input type="checkbox" name="living" value="no_answer"
id="toggleElement">
Choose not to answer <br>
</p>
答案 0 :(得分:4)
我没有看到你的函数在任何地方被调用,你可以在document.ready
处理程序中进行操作,并简化它,如下所示:
$(function() {
$("#toggleElement").change(function() {
$('input[name=living]').not(this).attr('disabled', this.checked);
});
});
另请注意,您的选择器不正确,它应该只基于名称......并且该ID应该被忽略,因为它是重复的。
答案 1 :(得分:1)
请改为尝试:
if ($('#toggleElement').is(':checked')) {
$('#living :input').attr('disabled', "disabled");
} else {
$('#living :input').attr('disabled', false);
}