求大神帮我看看代码?为什么用switch不行

来源:9-3 getElementsByTagName()方法

qq_遗莣哋NO1_03595851

2016-07-09 13:24

<!DOCTYPE HTML>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

        <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");

           

          // 任务1

          for (var i=0;i<hobby.length-1;i++)

           hobby[i].checked=true;

        }

        function clearall(){

            var hobby = document.getElementsByName("hobby");

            

         // 任务2 

          for (var i=0;i<hobby.length-1;i++)

           hobby[i].checked=false;

            

        }

      

       function checkone(){

         j=0;

         var j=parseInt(document.getElementById("wb").value);

       

         // 任务3

         var hobby = document.getElementsByName("hobby");

          

     

    switch(j){

    case 1: hobby[0].checked=true;

                      break;

    case 2: hobby[1].checked=true;

                     break;

   case 3: hobby[2].checked=true;

                      break;        

    case 4: hobby[3].checked=true;

                    break;        

    case 5: hobby[4].checked=true;

                  break;}        

    case 6: hobby[5].checked=true;

                break;

     default;

       break;

    }

       }

        </script>

    </body>

</html>

用switch完成最后一个任务,没反应,求大神帮忙看一下,不胜感激!!

写回答 关注

4回答

  • 慕粉3685841
    2016-07-28 09:57:06

    全选和全不选那里i<hobby.length,不然你全不选的时候最后那项还是选中状态。switch()那里其实没有大问题,不过就是case 5的break后面多了个大括号,default后面是:写成了;,以后写代码要小心了啊,可以把代码放到自己的编辑器里看看。

  • qq_遗莣哋NO1_03595851
    2016-07-09 16:03:37

    好吧,谢谢!

  • 长弓忌
    2016-07-09 16:01:51

    不好意思,说错了,我也不知道怎么回事!!!

  • 长弓忌
    2016-07-09 16:00:03

    你的switch里面的参数j没有和文本框里的值联系起来呀。var j=parseInt(document.getElementById("wb").value);这个j是你用在函数checkone()里面的,你把var j=parseInt(document.getElementById("wb").value);在switch前面再写一遍试试。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题