关于全选

全选的几个要求

1、点击全选即选择所有选项并更改全选为取消,且为选中状态;

2、点击取消即取消所有选项并更改取消为全选,且为未选中状态;

3、只要有一个选项未选中,就更改取消为全选,且为未选中状态;

4、只要所有选项全部选中,就更改全选为取消,且为选中状态。

HTML代码

1 <input type="checkbox" id="checkALL" /><span class="dohovertree" id="dohovertree">全选</span>

仅在此展示一个选择项,选项的name值都是一样的。

1 <input type="checkbox" name="staffId" id="staffID"/>

 JavaScript代码

 1     /**
 2          * 全选和取消
 3          * @author ywy
 4          * @date 2017/12/07
 5          */
 6         function selectAndClearAll(){
 7             var checkboxs = document.getElementsByName("staffId");
 8             document.getElementById("checkALL").onclick=function(){
 9                 if(this.checked==true){//全部选中并显示为取消
10                     for(var i=0;i<checkboxs.length;i++){
11                         checkboxs[i].checked=true;
12                     }
13                     document.getElementById("dohovert"+"ree").innerHTML="取消";
14                 }else{//全部取消并显示为全选
15                     for(var i=0;i<checkboxs.length;i++){
16                         checkboxs[i].checked=false;
17                     }
18                     document.getElementById("dohovertree").innerHTML="全选";
19                 }
20             }
21             
22             for( var i = 0; i < checkboxs.length; i++){
23                 checkboxs[i].onclick=function(){
24                     /**只要有一个没有选中 就设置全选为未选中状态并显示为全选**/
25                     if(!this.checked){
26                         document.getElementById("checkALL").checked = false;
27                         document.getElementById("dohovertree").innerHTML = "全选";
28                     }
29                     /**只要全部选中 就设置全选为选中状态并显示为取消**/
30                     var flag = true;
31                     for(var i=0;i<checkboxs.length;i++){
32                         if(!checkboxs[i].checked){
33                             flag = false;
34                             break;
35                         }
36                     }
37                     if(flag){
38                         document.getElementById("checkALL").checked = true;
39                         document.getElementById("dohovertree").innerHTML = "取消";
40                     }
41                 };
42             }
43         }

在你需要的地方调用selectAndClearAll()方法即可~ 完结 撒花~~

 

posted @ 2017-12-07 14:42  敲代码的小浪漫  阅读(276)  评论(0编辑  收藏  举报