为了账号安全,请及时绑定邮箱和手机立即绑定

限制多选框的选中个数,文本框输入数字控制多选框的选中,到了限制该限制的时候,为什么没反应?谢谢!

限制多选框的选中个数,文本框输入数字控制多选框的选中,到了限制该限制的时候,为什么没反应?谢谢!

忆寒QI 2018-07-15 09:25:37
 <body>        <form>          请选择你爱好:<br>          <input type="checkbox" name="hobby" id="hobby1">  音乐          <input type="checkbox" name="hobby" id="hobby2">  登山          <input type="checkbox" name="hobby" id="hobby3">  游泳          <input type="checkbox" name="hobby" id="hobby4">  阅读          <input type="checkbox" name="hobby" id="hobby5">  打球          <input type="checkbox" name="hobby" id="hobby6">  跑步 <br>          <input type="button" value = "全选" onclick = "checkall();">          <input type="button" value = "全不选" onclick = "clearall();">          <p>请输入您要选择爱好的序号,序号为1-6:</p>          <input id="wb" name="wb" type="text" >          <input name="ok" type="button" value="确定" onclick = "checkone();">        </form>        <script type="text/javascript">        function checkall(){            //全选            var hobby = document.getElementsByTagName("input");              for(var i=0;i<hobby.length;i++){              if(hobby[i].type=="checkbox"){                     hobby[i].checked=true;                }              }        }        function clearall(){            // 全不选            var hobby = document.getElementsByName("hobby");            for(var i=0;i<hobby.length;i++){            if(hobby[i].checked==true){                hobby[i].checked=false;            }          }                    }           function checkone(){            //选一个            var num=0;            var j=document.getElementById("wb").value;            var hobby=document.getElementsByName("hobby");            if(j<=0||j>6){                alert("请输入正确的数字!");            }else            {            hobby[j-1].checked=true;            }            for(var i=0;i<hobby.length;i++){             if(hobby[i].checked==true){                autoCheck("hobby",3);             }           }            }        //  限制单个选中的最大个数        function autoCheck(name,limit){            var hobby=document.getElementsByName(name);            function check()            {              var num=0;              for(var i=0;i<hobby.length;i++)              {                 if(hobby[i].checked){num++}                 if(num>limit)                 {                    return false;                 }              }              return true;            }            function checkedNum(){               for(var i=0;i<hobby.length;i++){                if(!check()){                    alert("只能选择"+limit+"项哦!");                    hobby[i].checked=false;                    }                }            }         }        </script>    </body>
查看完整描述

1 回答

?
阿尔法小队长

TA贡献7条经验 获得超0个赞

大致看了下,你的 autoCheck函数根本什么都没做。

里面只是声明了一个check 和 一个checkedNum。

并没有做任何操作。


查看完整回答
反对 回复 2018-07-15
  • 1 回答
  • 0 关注
  • 765 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信