$(function() {
$("#aa").click(function() {
$("#aa2").attr("checked", true);
});
$("#bb").click(function() {
$("#bb2").attr("checked", true);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='radio' name='a' id='aa'/>aa
<input type='radio' name='a' id='bb'/>bb
<br>
<input type='radio' name='b' id='aa2'/>aa2
<input type='radio' name='b' id='bb2/'>bb2
&#13;
当我点击aa,aa2选中时,点击bb,bb2 cheked。但是,然后单击aa,bb2保持选中状态,并且未选中aa2
答案 0 :(得分:1)
您可能需要使用.prop()
方法而不是.attr()
方法。
使用.attr()
时,您正在设置属性。设置属性后,将设置该属性。在您的情况下,如果已经设置了属性,则它不会再次更改属性,因此您只需使用.prop()
更改属性即可。
作为附注,我建议收听广播元素的change
事件,而不是click
事件。
$("#aa").on('change', function () {
$("#aa2").prop("checked", "checked");
});
$("#bb").on('change', function () {
$("#bb2").prop("checked", "checked");
});
答案 1 :(得分:0)
这应该对你有用
$(function() {
$("input[name=a]").change(function() {
$("input[name=b]").removeAttr('checked');
$("input[name=b]").filter('[value='+$(this).val()+']').attr('checked', true);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='radio' name='a' value="1" />aa
<input type='radio' name='a' value="2" />bb
<br>
<input type='radio' name='b' value="1" />aa2
<input type='radio' name='b' value="2" />bb2
&#13;