/** *js控制复选框全选V2.0版本使用说明 * *修复功能:加入同一页面多个复选框全选控制 * *1.在页面中引用该js; *2.在全选框onclick事件中调用doCheck(obj,firstCheckBox)方法:obj:this;firstCheckBox:全选框ID *3.在全选项onclick事件中调用toChkSon(obj,firstCheckBox)方法:obj:this.checked;firstCheckBox:子项ID *4.注意:子项ID须存在全选框ID;如:全选框ID为selectAll 则子项id必须存在selectAll字符 *5.获取选中的子复选框调用getCheckValue(firstCheckBox)方法: firstCheckBox:全选框ID *6.获取选中的复选框值调用getCheckBoValue(firstCheckBox)方法: firstCheckBox:全选框ID (返回value值用;隔开) * *@author:张申龙 *@date:20130419 **/ /** * 操作全选复选框事件(用于全选复选框) * obj this * firstCheckBox 全选的复选框id **/ function doCheck(obj,firstCheckBox) { var inputs=document.getElementsByTagName("input"); for(var i=0;i<inputs.length;i++) { if(inputs[i].type=="checkbox" && inputs[i].id!=firstCheckBox && inputs[i].id.indexOf(firstCheckBox)!=-1) //刷选出所有复选框 { inputs[i].checked=obj.checked; } } } /** * 复选框变化 全选按钮变化(用于下面复选框) * obj this.checked * firstCheckBox 全选的复选框id **/ function toChkSon(obj,firstCheckBox) { if(obj==false) //当此复选框未选中 全选为未选 { document.getElementById(firstCheckBox).checked=false; return ; } var chkInputs=getCheckBox(firstCheckBox); //获取所有复选框 var j=0; for(var i=0;i<chkInputs.length;i++) { if(chkInputs[i].checked==obj) j++; else break; } if(j==chkInputs.length) //当所有复选框为同一状态时 赋值全选同一状态 document.getElementById(firstCheckBox).checked=obj; } /** * 获取所有复选框 **/ function getCheckBox(firstCheckBox) { var inputs=document.getElementsByTagName("input"); var chkInputs=new Array(); var j=0; for(var i=0;i<inputs.length;i++) { if(inputs[i].type=="checkbox" && inputs[i].id!=firstCheckBox && inputs[i].id.indexOf(firstCheckBox)!=-1) //刷选出所有复选框 { chkInputs[j]=inputs[i]; j++; } } return chkInputs; } /** **获取选中复选框值 用;隔开 **/ function getCheckBoValue(firstCheckBox){ var chkInputs=getCheckValue(firstCheckBox); //获取选中所有复选框 var values=""; if(chkInputs==null || chkInputs.length==0){ ymPrompt.alert({message:"请选中一项",title:"提示"}); }else{ for(var i=0;i<chkInputs.length;i++){ values+=chkInputs[i].value+";"; } } return values; } /** * 选中复选框集合 **/ function getCheckValue(firstCheckBox){ var chkInputs=getCheckBox(firstCheckBox); //获取所有复选框 var inputArray=new Array(); if(chkInputs!=null && chkInputs.length>0){ var j=0; for(var i=0;i<chkInputs.length;i++){ if(chkInputs[i].checked){ inputArray[j]=chkInputs[i]; j++; } } } return inputArray; }
?
?
??页面调用如:
?
- ??<body>??
- ????全选:<input?type="checkbox"?name="chkMsgId"?id="chkMsgId"?