我有这个HTML:
<div id="first">
<input type="radio" name="one" value="yes" />Yes
<input type="radio" name="one" value="no" />No
</div>
<div id="second">
<input type="radio" name="two" value="yes" />Yes
<input type="radio" name="two" value="no" />No
</div>
我需要的是什么时候在第一个div收音机&#39;是&#39;然后检查另一台收音机&#39;否&#39;在第二个div应该自动检查,反之亦然。此外,当&#39; No&#39;在一个div然后&#39;是&#39;其他。我怎么能用jQuery做到这一点?
答案 0 :(得分:4)
如果选择了其中一个按钮,则查找具有“相反”值的所有其他按钮,不包括具有相同名称的按钮。
示例:
var $radios = $('input[type=radio]').change(function () {
var value = this.value === 'yes' ? 'no' : 'yes';
$radios.filter('[value=' + value + ']:not([name=' + this.name + '])')
.prop('checked', true);
});
答案 1 :(得分:2)
或者您也可以使用.index()
方法:
var $elems = $('div').find('input').change(function() {
$elems.not(this.parentNode)
.find('input')
.not(':eq('+$(this).index()+')')
.prop('checked', true);
}).end();