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

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

一像素成就大气之美

2018-05-25 10:09

<!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回答

  • 慕娘2471596
    2018-06-22 08:12:23

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

    一像素成就大...

    var j = parseInt(document.getElementById("wb").value); 首先这里j变量获取的是上面输入框里面的值,用户一般默认最小输入的数字是1,但编程里面最小数是0,因此我输入框输入1对应的是上面的第二个复选框,j--了之后,我输入数字1,虽然对应的是数组里面的0,但确实是匹配正确了

    2018-06-22 14:02:09

    共 1 条回复 >

  • 一像素成就大气之美
    2018-06-10 09:27:13
    <!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>

    最后优化一下

  • 自动学习
    2018-05-28 16:13:10

    不错!

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题