JavaScript基础6——全选示例

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>全选示例</title>
 6     </head>
 7     <body>
 8         <input type="checkbox" id="ckBox" onclick="selAllNo()" />全选/全不选
 9         <br>
10         <input type="checkbox" name="hobby" onclick="check()" />篮球
11         <br>
12         <input type="checkbox" name="hobby" onclick="check()" />足球
13         <br>
14         <input type="checkbox" name="hobby" onclick="check()" />羽毛球
15         <br>
16         <input type="checkbox" name="hobby" onclick="check()" />乒乓球
17         <br>
18         <input type="button" value="全选" onclick="selAll()" />
19         <input type="button" value="全不选" onclick="selNo()" />
20         <input type="button" value="反选" onclick="deSel()" />
21         <script type="text/javascript">
22             // 获取全选/全不选复选框
23             var ckBox = document.getElementById("ckBox");
24             // 获取到要操作的复选框
25             var hobbies = document.getElementsByName("hobby");
26             // 如果有一个没有选,那么去掉全选/全不选复选框
27             function check() {
28                 for (var i = 0; i < hobbies.length; i++) {
29                     // 只要有一个未选中,就设置复选框为未选中,并跳出循环
30                     if (!hobbies[i].checked) {
31                         ckBox.checked = false;
32                         break;
33                     } else {
34                         // 如果全部都为选中,设置复选框为选中
35                         ckBox.checked = true;
36                     }
37                 }
38             }
39             // 全选
40             function selAll() {
41                 for (var i = 0; i < hobbies.length; i++) {
42                     hobbies[i].checked = true;
43                 }
44                 ckBox.checked = true;
45             }
46             // 全不选
47             function selNo() {
48                 for (var i = 0; i < hobbies.length; i++) {
49                     hobbies[i].checked = false;
50                 }
51                 ckBox.checked = false;
52             }
53             // 全选/全不选
54             function selAllNo() {
55                 if (ckBox.checked) {
56                     for (var i = 0; i < hobbies.length; i++) {
57                         hobbies[i].checked = true;
58                     }
59                 } else {
60                     for (var i = 0; i < hobbies.length; i++) {
61                         hobbies[i].checked = false;
62                     }
63                 }
64             }
65             // 反选
66             function deSel() {
67                 for (var i = 0; i < hobbies.length; i++) {
68                     // 选中的设为未选中,未选中的设为选中
69                     hobbies[i].checked = (hobbies[i].checked) ? false : true;
70                 }
71                 // 检查反选是否有未选中的
72                 check();
73             }
74         </script>
75     </body>
76 </html>

posted @ 2016-09-12 15:41  JiangCYkk  阅读(185)  评论(0编辑  收藏  举报