最后一个 为什么这样不行

来源:9-4 区别getElementByID,getElementsByName,getElementsByTagName

某某酱3861081

2016-09-21 17:51

function checkone(){            var j=parseInt(document.getElementById("wb").value);        var z=document.getElementsByName("hobby");        for(i=0;i<z.length;i++){        if(j=i+1){z[i].checked=true}        } 最后一个 为什么这样不行

写回答 关注

2回答

  • 烟花易冷人事易分
    2016-09-21 21:35:00
    已采纳

    <!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 z=document.getElementsByName("hobby");        

              for(i=0;i<z.length;i++){       

                if(j==i+1){

                  z[i].checked=true;

                }      

              } 

            }

            </script>

        </body>

    </html>

    //你好,这是根据你的代码写出来的完整代码,最后j=i+1这里应该是j==i+1,"="是赋值符号,会使判定结果都为true,导致全选,而"=="是等于的意思,让判定条件限定为一个。

    某某酱386...

    非常感谢!

    2016-09-22 12:22:28

    共 1 条回复 >

  • 如此消魂
    2016-09-21 19:06:08
    <script type="text/javascript">
            function checkall(){
                var hobby = document.getElementsByName("hobby");
                for(i=0;i<=hobby.length;i++){
                    hobby[i].checked = true;
                }
              // 任务1 
               
            }
            function clearall(){
                //var hobby = document.getElementsByName("hobby");
                
             // 任务2 
             var hobby = document.getElementsByName("hobby");
                for(i=0;i<=hobby.length;i++){
                    hobby[i].checked = false;
                }
                
            }
            
            function checkone(){
                var j=document.getElementById("wb").value-1;
                var hobby = document.getElementsByName("hobby");
             // 任务3
                hobby[j].checked = true;
            }
            
            </script>

    你写的写的太乱,可以参考下我的代码。

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题