终于实现了多选

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

qq_慕丝4482217

2020-02-24 18:41

<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;i++){

        hobby[i].checked = true;

          }

        }

        function clearall(){

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

            

         // 任务2    

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

        hobby[i].checked = false;

          }

        }  

        

        function checkone(){

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

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


            var selNum=parseInt(j)-1;


            hobby[selNum].checked=true; 

        

        </script>

    </body>

</html>


写回答 关注

3回答

  • 慕村6055097
    2020-04-21 14:25:53

    function checkall(){

                var hobby = document.getElementsByTagName("input");

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

                   if(hobby[i].name == "hobby"){

                       hobby[i].checked = true;

                   }

               }

            }

            function clearall(){

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

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

                    if(hobby[i].name == "hobby"){

                        hobby[i].checked = false;

                    }

               }

            }

            function checkone(){

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

                var hobby = document.getElementById("hobby" + j);

                if(hobby){

                    hobby.checked = true;

                }else{

                    alert("没有改选项");

                }

            }


  • qq_心葬天簌_0
    2020-03-06 14:46:16

    parseInt(j)-1这个可以解释一下吗

    慕后端235...

    因为hobby调用过来时是数组,下标数从0计算,所以j值要做-1处理。

    2020-03-11 17:39:45

    共 1 条回复 >

  • JJLinNNnnn
    2020-02-26 10:24:49

    好,跟我一样的思路

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题