【问题标题】:Uncheck a checked radio on click单击时取消选中选中的收音机
【发布时间】:2016-09-24 20:37:08
【问题描述】:

我想创建一个可以具有未选中值的单选按钮。所以我创建了代码:

$('form').on('click', 'input[type="radio"]:checked', function (event) {
    $(this).prop("checked", false);
});

嗯,这很简单:点击选中的收音机,取消选中它。

但是,发生的情况是它从一开始就不会检查无线电。当我单击未选中的收音机时,它会在检测是否已选中之前进行检查,然后将其视为已选中并取消选中。

嗯,这不是重复的,因为它提出了不同的问题。不是如何取消勾选,而是点击后如何自动取消勾选。

我该如何解决这个问题?

【问题讨论】:

  • 你为什么不使用复选框?
  • 这是一个独家选项
  • 这是一个小提琴。无法回答,因为它是重复的...jsfiddle.net/1ykm4n18/1
  • @Cory 这与建议的副本不是同一个问题。 OP 希望有一种方法可以取消选中单选按钮仅在特定条件下链接的答案中未处理。
  • 我想创建一个可以有未选中值的单选按钮。改用复选框

标签: javascript jquery html checkbox


【解决方案1】:

您的示例仅在单击按钮时执行。要在页面加载时检查单选按钮,我会放置一个 $(document).onload() 事件,将按钮的值设置为选中。

【讨论】:

    【解决方案2】:

    你可以像下面这样解决你的问题。

    $('form :radio').attr('data-ischecked', function() {
        return this.checked;
    }); //set initial status in data-ischecked attribute 
    
    $('form').on('click', ':radio', function () {
        var status = $(this).data('ischecked'); //get status
        status && $(this).prop("checked", false); //uncheck if checked
        $(this).data('ischecked', !status); //toggle status
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form>
        <input type="radio"/>
        <input type="radio"/>
    </form>

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2015-05-19
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 2012-02-13
      • 2013-10-20
      • 1970-01-01
      • 2020-02-27
      相关资源
      最近更新 更多