【问题标题】:Overwrite checked radio button and check other one覆盖选中的单选按钮并检查其他单选按钮
【发布时间】:2014-01-06 17:03:47
【问题描述】:

我有两个单选按钮。默认选中一个,但我想取消选中那个并默认选中另一个。

所以我有这个 HTML:

<div class="gui-radio">
  <input type="radio" value="register" name="choise" id="new-register">
  <label for="register">Register</label>
</div>
<div class="gui-radio">
  <input type="radio" checked="checked" value="guest" name="choise" id="new-guest">
  <label for="new-guest">Guest</label>
 </div>

这一切都是自动生成的。我需要用 Jquery 来完成。

那么如何取消选中第二个并选中第一个?

【问题讨论】:

  • 当 jQuery 作为原生功能提供开箱即用时,为什么要使用它?

标签: javascript jquery html forms radio-button


【解决方案1】:

jQuery 1.6+

您可以通过设置.prop('checked', true); 来选中一个复选框,并通过设置.prop('checked', false); 来取消选中它。

$('#new-register').prop('checked', true);
$('#new-guest').prop('checked', false);

jQuery 1.5 及更低版本

$('#new-register').attr('checked','checked');
$('#new-guest').removeAttr('checked');

【讨论】:

  • 最好使用$('#new-register').prop('checked', true);$('#new-guest').prop('checked', false);,因为Checked是一个属性
【解决方案2】:

它们已通过name 属性连接,因此您只需选中第一个 - 第二个将自动变为未选中,因为在单选组中只能选择一个。

这是在 jQuery 中选中单选框/复选框的方法:

$('#new-register').prop('checked', true);

【讨论】:

    【解决方案3】:

    这会检查第一个收音机:

    jQuery('input#new-register').prop('checked', true);
    

    同时关闭输入可能是个好主意:

    <div class="gui-radio">
        <input type="radio" value="register" name="choise" id="new-register" />
        <label for="register">Register</label>
    </div>
    <div class="gui-radio">
        <input type="radio" checked="checked" value="guest" name="choise" id="new-guest" />
        <label for="new-guest">Guest</label>
    </div>
    

    jsfiddle link

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 2015-02-27
      • 2019-05-29
      • 2020-07-14
      相关资源
      最近更新 更多