返回js实现全选功......登陆

js实现全选功能

微课0012018-12-04 00:08:33309

看起来很简单的一个小练习却做了半天,代码却并不多,看来还得多多练习,温故而知新。


我好像没记得checkbox和label的用法?是不是前面没讲还是我漏看了?

老师我发现几个问题麻烦解答一下,谢谢:

1      --true和false可以分别用非0 和 0代替,也不能加引号,否则会被认为是字符串,类型就变成true了,是这么理解吗?

2     -- if (ocheckall.checked),这个括号内的内容不是判断是否点击了选择框的意思吗?为什么不能写成ocheckall.checked=true??

3     --name可以当id或class来用吗?如果可以,name的css选择器是什么呢?

全选功能的js代码主要实现方法:

绑定元素、声明函数,for循环向数组内添加数据if else语句控制checked值为true或false、用onclick方法调用函数。

涉及到的其它知识有:label中用for+"id名"绑定点击的范围;

实现结果:QQ拼音截图20181203160537.png


代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
     #box {
       color: grey;
       margin: 20px auto;
       text-align: center;
       width: 200px;
       height: 300px;
       border: 3px solid rgb(102, 219, 7);
       border-radius: 10px;
       box-shadow: 0px 0px 25px rgb(110, 11, 230);
     }
     hr {
       width: 80%;
       border-color: rgb(9, 131, 153);
       box-shadow: 0px 0px 5px rgb(30, 216, 197);
     }
     .checkarea {
       font-size: 25px;
       text-align: left;
       width: 70%;
       height: 80%;
       margin: 0 auto;
       padding-top: 10px;
       padding-left: 20px;
       border-radius: 20px;
       background: rgb(236, 202, 10);
       box-shadow: 0px 10px 15px rgb(141, 143, 139);
     }
   </style>
<script>
     function ckall() {
       ocheckall = document.getElementById("checkall");
       oipt = document.getElementsByName("ipt");
       obox = document.getElementById("box");
       for (var i = 0; i < oipt.length; i++) {
         if (ocheckall.checked) {
           oipt[i].checked = true;
           obox.style.color = "green";
         } else {
           oipt[i].checked = false;
           obox.style.color = "grey";
         }
       }
     }
   </script>
</head>
<body>
<div id="box">
<input type="checkbox" id="checkall" onclick="ckall()" />
<label for="checkall">全选</label>
<hr />
<div class="checkarea">
<div><input type="checkbox" name="ipt" />html</div>
<div><input type="checkbox" name="ipt" />css</div>
<div><input type="checkbox" name="ipt" />javascript</div>
<div><input type="checkbox" name="ipt" />php</div>
<div><input type="checkbox" name="ipt" />vue.js</div>
</div>
</div>
</body>
</html>


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送