You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单选按钮切换后复选框多选限制未解除的问题求解

解决单选按钮切换后复选框选择限制问题

问题根源:点击「仅能选择一个复选框」单选按钮时,给所有复选框绑定了change事件来限制选中数量,但切换回「可选择所有复选框」单选按钮时,未移除该绑定事件,导致限制依然生效。

修改后的代码

HTML 部分

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="radio" name="r" id="r1" checked> 可选择所有复选框
<input type="radio" name="r" id="r2"> 仅能选择一个复选框
<br>
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">

JavaScript 部分

$('#r2').click(function() {
  // 清空所有复选框选中状态
  $('input[type="checkbox"]').prop("checked", false);
  // 给change事件添加命名空间,方便后续精准移除
  $('input[type="checkbox"]').on('change.singleLimit', function() {
    $('input[type="checkbox"]').not(this).prop('checked', false);
  });
});

$('#r1').click(function() {
  // 清空所有复选框选中状态
  $('input[type="checkbox"]').prop("checked", false);
  // 移除限制选择的change事件
  $('input[type="checkbox"]').off('change.singleLimit');
});

关键修改说明

  • 给#r2中绑定的change事件添加命名空间.singleLimit,避免移除时误删其他可能存在的change事件
  • 在#r1的点击事件中,通过off('change.singleLimit')精准移除限制事件,让复选框恢复可多选状态

内容的提问来源于stack exchange,提问作者Anno123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:05:25