jQuery如何使用单选按钮控制单选按钮

时间:2015-02-20 20:13:45

标签: javascript jquery html



$(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;
&#13;
&#13;

当我点击aa,aa2选中时,点击bb,bb2 cheked。但是,然后单击aa,bb2保持选中状态,并且未选中aa2

2 个答案:

答案 0 :(得分:1)

您可能需要使用.prop()方法而不是.attr()方法。

使用.attr()时,您正在设置属性。设置属性后,将设置该属性。在您的情况下,如果已经设置了属性,则它不会再次更改属性,因此您只需使用.prop()更改属性即可。

作为附注,我建议收听广播元素的change事件,而不是click事件。

Example Here

$("#aa").on('change', function () {
    $("#aa2").prop("checked", "checked");
});
$("#bb").on('change', function () {
    $("#bb2").prop("checked", "checked");
});

请参阅.prop() vs .attr()

答案 1 :(得分:0)

这应该对你有用

&#13;
&#13;
$(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;
&#13;
&#13;