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

这是我的方法给各位参考一下

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>无标题文档</title>
    </head>
    
    <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++){
              hobby[i].checked = true;
          };
       };
       function clearall(){
           var hobby = document.getElementsByName("hobby"); 
           for(var i = 0; i < hobby.length; i++){
               hobby[i].checked = false;
           };
       };
       function checkone(){
           var j = parseInt(document.getElementById("wb").value);
           var hobby = document.getElementsByName("hobby");
j--;
           if(j < hobby.length && j >= 0){
               for(var i = 0; i < hobby.length; i++){
               hobby[i].checked = false;
               };
               hobby[j].checked = true;
               document.getElementById("wb").value = "";
           }else{
           alert("输入值不合法!");
           document.getElementById("wb").value = "";
           };
       };
        </script>
    </body>
</html>


正在回答

3 回答

请问下 “j--”是做什么用的在这里前面parseInt将数字提取 出来了  不可以直接判断是否大于1小于等于6么

0 回复 有任何疑惑可以回复我~
#1

一像素成就大气之美 提问者

var j = parseInt(document.getElementById("wb").value); 首先这里j变量获取的是上面输入框里面的值,用户一般默认最小输入的数字是1,但编程里面最小数是0,因此我输入框输入1对应的是上面的第二个复选框,j--了之后,我输入数字1,虽然对应的是数组里面的0,但确实是匹配正确了
2018-06-22 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>无标题文档</title>
    </head>
    
    <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-<span id="InputCount"></span>:</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++){
              hobby[i].checked = true;
          };
       };
       var hobby = document.getElementsByName("hobby");
var InputCount = document.getElementById("InputCount").innerHTML = hobby.length;
       function clearall(){
           for(var i = 0; i < hobby.length; i++){
               hobby[i].checked = false;
           };
       };
       function checkone(){
           var j = parseInt(document.getElementById("wb").value);
j--;
           if(j < hobby.length && j >= 0){
               clearall();
               hobby[j].checked = true;
               document.getElementById("wb").value = "";
           }else{
           alert("输入值不合法!");
           document.getElementById("wb").value = "";
           };
       };
        </script>
    </body>
</html>

最后优化一下

0 回复 有任何疑惑可以回复我~

不错!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这是我的方法给各位参考一下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信