复选框为checkbox对象
通过input就可以将一个简单的复选框呈现在页面上
<input type="checkbox" />
要实现的大概就是这样一个页面
思路
全选
因为要得到复选框数组,而id又不能重复。所以通过name来得到复选框数组。得到数组后遍历,将所有checked值设置为true即可实现全选,全不选原理相同
反选
同样的方法得到复选框数组,遍历的时候判断如果checked值为true则改为false,checked值为false则改为true
最上面的全选/全不选功能
通过id获得最上面的复选框,判断其checked值若为true则将所有的复选框设置为true,为false则设置为false
注意
为什么不是true的时候设置为false呢?因为当点击的时候复选框已发生变化,这个时候,下面的复选框应该是与上面一致的
源代码如下
1 <!DOCTYPE html>
2 <html>
3
4 <head>
5 <meta charset="utf-8" />
6 <title>复选框</title>
7
8 <style type="text/css">
9
10 </style>
11 </head>
12
13 <body>
14 <input type="checkbox" id="boxid" onclick="setAllNo()" />全选/全不选
15 <br />
16 <input type="checkbox" name="love" />篮球
17 <br />
18 <input type="checkbox" name="love" />排球
19 <br />
20 <input type="checkbox" name="love" />羽毛球
21 <br />
22 <input type="checkbox" name="love" />乒乓球
23 <br />
24 <input type="button" value="全选" onclick="setAll()" />
25 <input type="button" value="全不选" onclick="setNo()" />
26 <input type="button" value="反选" onclick="setOthers()" />
27
28 <script type="text/javascript">
29 //全选函数
30 function setAll() {
31 var loves = document.getElementsByName("love");
32 for (var i = 0; i < loves.length; i++) {
33 loves[i].checked = true;
34 }
35 }
36
37 //全不选函数
38 function setNo() {
39 var loves = document.getElementsByName("love");
40 for (var i = 0; i < loves.length; i++) {
41 loves[i].checked = false;
42 }
43 }
44
45 //反选
46 function setOthers() {
47 var loves = document.getElementsByName("love");
48 for (var i = 0; i < loves.length; i++) {
49 if (loves[i].checked == false)
50 loves[i].checked = true;
51 else
52 loves[i].checked = false;
53 }
54 }
55
56 //全选/全不选操作
57 function setAllNo(){
58 var box = document.getElementById("boxid");
59 var loves = document.getElementsByName("love");
60 if(box.checked == false){
61 for (var i = 0; i < loves.length; i++) {
62 loves[i].checked = false;
63 }
64 }else{
65 for (var i = 0; i < loves.length; i++) {
66 loves[i].checked = true;
67 }
68 }
69 }
70 </script>
71
72 </body>
73
74 </html>