【问题标题】:Make checkboxes select-able one at a time like radio-buttons使复选框可以像单选按钮一样一次选择一个
【发布时间】:2013-02-09 11:06:54
【问题描述】:

我正在寻求一些帮助,使复选框的行为类似于单选按钮,因为组中的一个只能使用 jQuery 一次选择。

首先,为什么不使用单选按钮?因为我希望这些形式的输入也是不可选择/不可检查的,这样就有可能无法检查它们。

所以我有 9 个输入类型复选框,它们分为 3 组,每组 3 个,而不是在表单中,只是根据这 3 个与 name 属性具有相同值的事实进行分组。

所有 9 个复选框都有 .secondary-input 类,但只有 3 个的名称为 1,接下来的 3 个名称为 2,最后三个的名称为 3。

我想要完成的是一次只检查组中的一个,并且可以取消选中一个,这样组中的任何一个都不会被检查。

我将不胜感激所有帮助实现这一目标。

我找到了一个像这样的 JSFiddle,但是 jQuery 不能通过 name 属性与我的组系统一起工作。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    不确定该语言的具体细节,但您能否遍历所有复选框项目并切换任何打开和应该关闭的选项?伪代码:

    for checkbox in checkboxes:
        if checkbox.checked == true %% checkbox != selectedCheckbox:
            checkbox.toggle
    

    【讨论】:

      【解决方案2】:

      如果它们都具有相同的名称,您可以取消选中其他具有相同名称的属性:

      $(":checkbox").on('change', function () {
          $('[name="' + $(this).attr('name') + '"]').not(this).prop('checked', false);
      });
      

      http://jsfiddle.net/F2JPP/

      【讨论】:

      • 我同意这一点,非常好的解决方案。优秀的 jQuery。谢谢!
      猜你喜欢
      • 2011-06-09
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 2012-04-23
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      相关资源
      最近更新 更多