问答详情
源自:9-4 区别getElementByID,getElementsByName,getElementsByTagName

任务三,换个思路出不来结果?请大神帮忙看看

看到答案内容很简洁,用switch判断很繁琐。但非常好奇为什么用switch的写法无法正常显示?


ture写错了,已改正,但还是无法显示??

提问者:黑羊sparrow 2015-03-08 11:32

个回答

  • sanguoyou
    2015-03-10 12:10:15
    已采纳

    <!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(i=0;i<hobby.length;i++){
            if(hobby[i].type=="checkbox"){
            hobby[i].checked=true;
            }
            }
        }
            function clearall(){
                var hobby = document.getElementsByName("hobby");
                
             // 任务2    
            for(i=0;i<hobby.length;i++){
            if(hobby[i].type=="checkbox"){
            hobby[i].checked=false;
            }
            }    
            }
            
            function checkone(){
            var j=document.getElementById("wb").value;
             // 任务3
            switch(j){
            case "1": document.getElementById("hobby1").checked=true;
            break;
            case "2": document.getElementById("hobby2").checked=true;   
            break;
            case "3": document.getElementById("hobby3").checked=true;   
            break;
            case "4": document.getElementById("hobby4").checked=true;   
            break;
            case "5": document.getElementById("hobby5").checked=true;   
            break;
            case "6": document.getElementById("hobby6").checked=true;   
            break;
            }
            }
            </script>
        </body>
    </html>

  • sanguoyou
    2015-03-09 10:39:47

    js代码最后少一个大括号}

  • sanguoyou
    2015-03-09 10:37:43

     case 1: 加双引号变case "1":试试