jQuery实现多选框选中数量限制与防刷新Bug修复

作者:键盘侠

时间:2026-10-21

浏览:563

本文介绍如何使用jQuery限制多选框的最大选中数量,并解决页面刷新后选中状态保留导致超过限制仍可操作的Bug。通过判断当前选中数量是否达到上限,动态移除选中状态并禁用后续选项,确保交互逻辑符合预期。

文章目录

jQuery多选框数量限制与刷新Bug修复

网上提供的方案可行,但存在一个缺陷:页面刷新后,多选框会保留之前的选中状态。如果此时选中的数量已达到上限,用户仍可能继续选择,从而产生Bug。解决方法是在逻辑中加入判断,检查当前选中数量是否已满足限制要求。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
$(function(){

//加上判断是否达到数量要求
  if($(":checkbox").size()>=3){
     $(":checkbox").removeAttr("checked");
     $(":checkbox").attr("disabled","disabled");
     $(":checkbox").removeAttr("disabled");
   }

  var num = 0;
  $(":checkbox").each(function(){
    $(this).click(function(){
      if($(this)[0].checked) {
        ++num;
        if(num == 3) {
          //alert("最多选择 三项 的上限已满, 其他选项将会变为不可选.");
          $(":checkbox").each(function(){
            if(!$(this)[0].checked) {
              $(this).attr("disabled", "disabled");
            }
          });
        }
      } else {
        --num;
        if(num <= 2) {
          $(":checkbox").each(function(){
            if(!$(this)[0].checked) {
              $(this).removeAttr("disabled");
            }
          });
        }
      }
    });
  });
})
</script> 
</head>

<body>
<input type="checkbox" />上网<br />
<input type="checkbox" />旅游<br />
<input type="checkbox" />逛街<br />
<input type="checkbox" />游戏<br />
<input type="checkbox" />听歌<br />
<input type="checkbox" />购物<br />
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章