【发布时间】:2016-07-28 13:06:14
【问题描述】:
我想在更改时获取所选单选字段的值。如果选择的值为Admin,我想禁用ID为permissions_forms的字段组,并且应该选中其中的所有复选框。否则,如果值不是Admin,则应启用它们。
我试图获取值,但更改功能在我的情况下不起作用。 有人可以帮我吗?这里是Jsfiddle
这是 HTML 代码:
<ul class="radio" id="role">
<li>
<input id="role-0" name="role" type="radio" value="User">
<label for="role-0">User</label>
</li>
<li>
<input checked="" id="role-1" name="role" type="radio" value="Admin">
<label for="role-1">Admin</label>
</li>
</ul>
<br/><br/><br/><br/>
<ul class="checkbox" id="permissions_forms">
<li>
<input checked="" id="diagnsosis_forms-0" name="diagnsosis_forms" type="checkbox">
<label for="diagnsosis_forms-0"> Checkbox enable when admin selected</label>
</li>
<li>
<input checked="" id="diagnsosis_forms-1" name="diagnsosis_forms" type="checkbox" >
<label for="diagnsosis_forms-1"> Checkbox enable when admin selected</label>
</li>
</ul>
还有 jQuery 代码:
$('#role').change(function() {
selected = $('input[name=role]:checked').val();
if (selected == "Admin") {
alert('Admin');
$("#permissions_forms :input").attr("disabled", true);
$("#permissions_forms").parent().siblings().find(':checkbox').attr('checked', this.checked);
}
else{
$("#permissions_forms :input").attr("disabled", false);
}
});
【问题讨论】:
-
旁注,ID必须是唯一的
-
你不想要
.attr('checked')你想要.is(':checked') -
或者用属性代替attr。
标签: javascript jquery html input