关于全选
全选的几个要求
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()方法即可~ 完结 撒花~~