页面上checkbox的选择操作

在页面上checkbox使用的比较频繁,一般数据的列表页都会涉及到checkbox的操作,一般的操作有:判读是否选中、判读是否多选等


var checkElement={};
//选中所有
//参数:对应的check组名称
checkElement.selectAllCheck=function(checkName){
 var selecters=document.getElementsByName(checkName);
 for (i=0; i<selecters.length; i++)
 {
  if (selecters[i].type == "checkbox")
  {
        selecters[i].checked=true;
  }
 }
}
//删除所有选中的勾
//参数:对应的check组名称
checkElement.deleteAllCheck=function(checkName){
 var selecters=document.getElementsByName(checkName);
 for (i=0; i<selecters.length; i++)
 {
  if (selecters[i].type == "checkbox")
  {
        selecters[i].checked=false;
  }
 }
}
//判断是否有选中的 true or false
//参数:对应的check组名称
checkElement.justifyChecked=function(checkName){
   var selecters=document.getElementsByName(checkName);
 var flag = false;
 for(i=0;i<selecters.length;i++)//先判断是否有选上的项
 {
  if (selecters[i].type == "checkbox" && selecters[i].checked==true)
  {    
   flag = true;
   break;
  }
 }
 return flag; 
}
//选择全选或者不选--这个全选框调用的方法,选中它页面的多选框都选中反之亦然
//参数:(全选框对象,tbodyID(table中的<tbody>的id),子checkbox名称也即是tbodyID中的checkbox)
checkElement.selectAllBox=function(checkBox,tbodyId,checkName){
 var tbody = document.getElementById(tbodyId);
 if(checkBox.checked==true){//当选中时,说明全选
  this.selectAllCheck(checkName);
 }else{//否则,全不选
  this.deleteAllCheck(checkName);
 }
}
//由单选框判断全选框状态--tbody中的checkbox调用的方法
//参数:对应的check组名称
checkElement.checkAllStatus=function(checkName){
 var selecters=document.getElementsByName(checkName);
 var flag = true;
 //1.由单选框判断全选框状态
 for(i=0;i<selecters.length;i++){
  flag &= selecters[i].checked;
 }
 document.getElementsByName("selectCheck")[0].checked=flag;
 return flag;
}
//判断是否有结果集
//参数:对应的check组名称
checkElement.checkHaveResult=function(checkName){
 var v = '1';
 var check = document.getElementsByName(checkName);
 if(check==null || check.length==0){
  v=0;
 }
 if(v=='0'){
  alert("没有任何记录");
  return false;
 }
 return true;
}

//判断是否有多选---一般修改时使用
//参数:对应的check组名称
checkElement.justifyCheckedMore=function(checkName){
 var count=0;
   var selecters=document.getElementsByName(checkName);
 var flag = false;
 for(i=0;i<selecters.length;i++)//先判断是否有选上的项
 {
  if (selecters[i].type == "checkbox" && selecters[i].checked==true)
  {   
   count++;
  }
 }
 return count; 
}
//获取一个打勾的框的value
//参数:对应的check组名称
checkElement.getCheckedValue=function(checkName){
 var v=null;
   var selecters=document.getElementsByName(checkName);
 var flag = false;
 for(i=0;i<selecters.length;i++)//先判断是否有选上的项
 {
  if (selecters[i].type == "checkbox" && selecters[i].checked==true)
  {    
   v = selecters[i].value;
  }
 }
 return v; 
}

//在checkName对应的check组中获取要修改的ID
//参数:对应的check组名称
checkElement.getModifyId=function(checkName){
 var modifyId='';
 var count =this.justifyCheckedMore(checkName);
 if(count==0){
  alert("请选择需要修改的记录信息!",msg_Type);
 }else if(count>1){
  alert("请选择一行记录进行修改!",msg_Type);
 }else{
  modifyId= this.getCheckedValue(checkName);
 }
 return modifyId;
}
//在checkName对应的check组中判断是否可以删除
//参数:对应的check组名称
checkElement.getDeleteFlag=function(checkName){
 var deleteFlag='0';
 var count =this.justifyCheckedMore(checkName);
 if(count==0){
  alert("请选择需要删除的记录信息!",msg_Type);
 }else{
  deleteFlag="1";
 }
 return deleteFlag;
}
//点击一行时行高亮
checkElement.trClick=function(obj){
 //如果点击的是checkbox本身,则跳过点击行事件,以免事件重复执行,导致选不上的现象
 if(event.srcElement.type=="checkbox"){
  return; 
 }
 var checkbox=$(obj).find("input:checkbox")[0];
 if(checkbox.checked==true){
  checkbox.checked=false;
 }else{
  checkbox.checked=true;
 }
this.checkAllStatus(checkbox.name);
}

你可能感兴趣的:(function,table,null,input)