我有这个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中的radio‘Yes’被选中时,第二个div中的另一个radio‘No’应该被自动选中,反之亦然。另外,如果一个div中的“No”,那么另一个div中的“Yes”。我怎么能用jQuery做到这一点?

最佳答案

如果选择其中一个按钮,则查找具有“相反”值的所有其他按钮,但不包括具有相同名称的按钮。
例子:

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);
});

DEMO

09-11 18:25
查看更多