【问题标题】:How can I uncheck a checked box when another is selected? [duplicate]选中另一个复选框时,如何取消选中另一个复选框? [复制]
【发布时间】:2013-11-26 13:24:24
【问题描述】:

我知道将复选框视为单选按钮并不是一个好习惯,但我需要用户能够取消选择某个选项(如果他们愿意)。我有一些 jQuery 将用户限制为一个选项,但我需要一个选中的选项来取消选中另一个选项时的选中。现在用户必须取消选中选中的选项,然后选择其他内容。

这是当前脚本:

$(function () {
    var max = 1;
    $('#checks-wrap-app-type').on('click', 'input[type="checkbox"]', function(){
        return $(this).closest('#checks-wrap-app-type').find(':checked').length <= max;
    });
]);

我不确定如何更改此选项,以便在选择另一个选项时取消选中当前选中的选项。任何帮助将不胜感激。如果您需要更多信息,请告诉我。

谢谢。

【问题讨论】:

  • 您是否尝试不取消选中 jQuery 中的所有选项,然后选中需要的选项?无需查找已检查的输入。
  • 显然@wared 不是读者。
  • @Feanor - 你能澄清一下吗?谢谢。

标签: javascript jquery forms checkbox


【解决方案1】:

改用更改事件,在更改时,只需取消选中所有,不包括刚刚更改的那个。

$('#checks-wrap-app-type').on('change', 'input[type="checkbox"]', function(){
    $('#checks-wrap-app-type input[type="checkbox"]').not($(this)).prop('checked', false);
});

【讨论】:

  • 我必须重写一些东西才能让它完全正常工作,但这帮助我实现了目标。谢谢!
【解决方案2】:

您是否考虑过使用单选按钮?他们会做你需要做的事情。

【讨论】:

  • 他们不会,因为我需要用户能够取消选择该选项,而单选按钮无法做到这一点。
【解决方案3】:

检查一下:

 if($('.checkbox1').prop('checked') == 'true')
      $('.checkbox1').prop('checked',false);

    if($('.checkbox2').prop('checked') == 'true')
      $('.checkbox2').prop('checked',false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 2021-12-23
    • 2020-03-16
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多