摘要:要点(1)首先获取checkbox子选项总数,for循环条件需要用到;(2)子选项表示方式 变量item实质是list,可以使用item[i]获取其中某一值,因此子选项可以用item[i]表示;此处item[i]并不是指checkbox的name,而是指变量的第i+1个元素,元素总数为item.length,i取值为0~ite
要点
(1)首先获取checkbox子选项总数,for循环条件需要用到;
(2)子选项表示方式
变量item实质是list,可以使用item[i]获取其中某一值,因此子选项可以用item[i]表示;此处item[i]并不是指checkbox的name,而是指变量的第i+1个元素,元素总数为item.length,i取值为0~item.length-1。
(3)自定义函数逻辑
如果【全选】被勾选,将子选项勾选。checkbox本身具有checked属性,值为布尔型;当选项被勾选时,.checked为true;同理,将.checked赋值为true,选项会被勾选。
function checkAll(){ var all = document.getElementById("first"); var item = document.getElementsByName("item[]"); for (var i=0; i<item.length; i++) { if (all.checked) { item[i].checked = true; } else{ item[i].checked = false; } } }
(4)函数调用:在【全选】项内添加onclick事件,调用checkAll()函数。
完整代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>全选</title> <style type="text/css"> .box{width: 100px; height: 200px; border: 1px solid #0055CC; border-radius: 5px; margin: 0px auto; padding: 0px 15px;} .box div{border-bottom: 1px solid #0055CC; padding: 10px 0px; margin: 5px 0px;} .box input{margin: 5px 8px;} </style> <script type="text/javascript"> function checkAll(){ var all = document.getElementById("first"); var item = document.getElementsByName("item[]"); for (var i=0; i<item.length; i++) { if (all.checked) { item[i].checked = true; } else{ item[i].checked = false; } } } </script> </head> <body> <div class="box"> <div> <input type="checkbox" id="first" onclick="checkAll()"/>全选 </div> <input type="checkbox" name="item[]" />选项1<br> <input type="checkbox" name="item[]" />选项2<br> <input type="checkbox" name="item[]" />选项3<br> <input type="checkbox" name="item[]" />选项4<br> <input type="checkbox" name="item[]" />选项5<br> <input type="checkbox" name="item[]" />选项6<br> </div> </body> </html>
END
批改老师:灭绝师太批改时间:2018-11-05 09:05:58
老师总结:总结的很好,这个作业以后还可以当做笔记来看……继续保持