【发布时间】:2011-12-27 20:43:35
【问题描述】:
jQuery 新手,在这里。我不能让它工作。这是我用来禁用基于前一个单选按钮的单选按钮的方法。
$('document').ready(function() {
$('input[name="a"]').change(function() {
if($(this).val() == '1') {
$('input[name="b"]').removeAttr('disabled');
} else {
$('input[name="b"][value="1"]').attr('disabled','disabled');
}
});
});
和:
<input type="radio" name="a" value="1" /> A-1
<input type="radio" name="a" value="2" /> A-2
<input type="radio" name="b" value="1" /> B-1
<input type="radio" name="b" value="2" /> B-2
所以如果我检查 A-2,B-1 就会被禁用。但是假设我一开始就检查了 B-1,然后我检查了 A-2,然后我希望 B-1 不被检查。我已尝试将其添加到:
if($('input[name="b"][value="1"]').is(':disabled')) {
$('input[name="b"][value="1"]').removeAttr('checked');
}
它完成了这项工作,但如果我先检查了 B-2,它也会取消选中它。我只希望 B-1 不受检查。 (我希望这是有道理的。)
我做错了什么?
【问题讨论】:
-
如果选择了另一个单选,您总是希望取消选中之前选中的单选按钮?