/**
*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"?
