【问题标题】:make radio buttons behave like checkboxes使单选按钮表现得像复选框
【发布时间】:2013-07-17 18:52:28
【问题描述】:

我在互联网上看到了有关如何使复选框像单选按钮一样的示例,但是是否可以使用 jquery 使一组单选按钮像复选框(意味着多选和取消选择)一样?告诉我

谢谢

【问题讨论】:

  • 如果你想一次只选择一个然后分配一个名称,否则设置多个无线电名称
  • 我唯一想到的问题是:为什么?
  • 我认为在这种情况下可以反转 :)

标签: javascript jquery


【解决方案1】:

单选按钮的目的是强制“仅选择一个”输入组。

我认为您需要的是如何将复选框设置为看起来像单选按钮。也不建议这样做,因为当浏览器 chrome 在网站上被覆盖时,用户会发现它违反直觉。但是,如果您打算拥有看似单选按钮但具有复选框功能的东西,那将是两害相权取其轻。

【讨论】:

    【解决方案2】:

    是的,这是可能的。您可以给每个单选按钮一个不同的名称,以便一次选择多个,您可以使用 JS 添加一个单击事件侦听器,该侦听器将查看在单击该框时是否已选中该框,如果是,请取消选中它。

    自己尝试一下,如果遇到问题,请发布您尝试过的内容并提出更具体的问题。

    【讨论】:

    • 看起来单选按钮一旦被选中就无法取消选择
    • @user765368 — 听起来您没有按照答案的这一部分中的说明进行操作:您可以使用 JS 添加一个单击事件侦听器,该侦听器将查看该框在被单击时是否已被选中,如果所以,取消选中它。
    【解决方案3】:
    $("input[type='radio']").click(function()
    {
      var previousValue = $(this).attr('previousValue');
      var name = $(this).attr('name');
    
      if (previousValue == 'checked')
      {
        $(this).removeAttr('checked');
        $(this).attr('previousValue', false);
      }
      else
      {
        $("input[name="+name+"]:radio").attr('previousValue', false);
        $(this).attr('previousValue', 'checked');
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多