我有一个带有多选字段A的表单
<select multiple="multiple" name="A"></select>
和布尔复选框B
<input type="checkbox" name="B" />
如果选中字段B,我想禁用字段A.如果字段B未选中,我想再次重新启用字段A.
我试过了:
$('input[name="B"]').toggle(function() {
$('select[name="A"]').addClass('uneditable-input').attr('disabled', 'disabled');
}, function() {
$('select[name="A"]').removeClass('uneditable-input').removeAttr('disabled');
});
然而,这不起作用。相反,它使复选框从我的网页中消失。我怎样才能实现我上面描述的内容?
答案 0 :(得分:3)
我如何实现上述目标?
使用click
来挂钩(单个)处理程序,然后在处理程序中检查toggle
以查看是否已检查this.checked
,而不是B
。 / p>
$('input[name="B"]').click(function() {
if (this.checked) {
$('select[name="A"]').addClass('uneditable-input').attr('disabled', 'disabled');
}
else {
$('select[name="A"]').removeClass('uneditable-input').removeAttr('disabled');
}
});