进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 网站开发 -> JavaScript -> 文章内容  
javascript实现datagrid客户端checkbox列的全选,反选

最简格式:这是一个偷巧的方法,但不通用。前提是这个页面只有一个datagrid,且只有datagrid中有checkbox;这个就比较方便。主要思路就是搜索出整个页面的checkbox,将它们全部选中或反选。
// 全选
function allCheck()
{
for (var i=0;i<Form1.elements.length;i++)
{
var e=Form1.elements[i];
if (e.type=='checkbox')
e.checked=true;
} www.goodsgy.com

}
//反选
function revCheck()
{
for (var i=0;i<Form1.elements.length;i++)
{
var e=Form1.elements[i];
if (e.type=='checkbox')
e.checked=!e.checked;
}
} www.goodsgy.com


通用简单格式
因为asp.net页面中生成datagrid中的checkbox,他的ID是要改变的,所以我们寻找它们的规律,就可以准确的找到这个控件,从而进行全选和反选及选中的操作,
 参数说明:
prefix:前缀;s:选择框ID;chk:选择框的ID;www.goodsgy.com


function getObj( objID )
{
 return document.getElementById( objID );
}www.goodsgy.com

// 全选
function _SelectAll( prefix,s,chk )
{
 var oArr = _GetColl( prefix,s,chk );
 for( var o in oArr )
 {
  oArr[o].checked = true;
 }
}
// 反选
function _RevSelect( prefix,s,chk )
{
 var oArr = _GetColl( prefix,s,chk );
 for( var o in oArr )
 {
  oArr[o].checked = !oArr[o].checked;
 }
}www.goodsgy.com

// 获值
function _GetColl( prefix,s,chk )
{
 var i = s;
 var oArr = new Array();
 while( true)
 {
  var o = getObj( prefix + '__ctl' + i + '_' + chk);
  if( o != null )
  {
   oArr.push( o );
  }
  else
  {
   break;
  }
  i++;
 }
 
 return oArr;
}
// 检查是否选中
function _CheckSelect( prefix,s,chk )
{
 var oArr = _GetColl( prefix,s,chk );
 for( var o in oArr )
 {
  if( oArr[o].checked)
  {
   return true;
  }
 }
 return false;
 
}www.goodsgy.com

推荐通用详细格式:http://www.cnblogs.com/ghd258/archive/2005/11/07/270449.html#Post
/* 分页
  2    参数说明:
  3    prefix:前缀;chkAll:全选框;chkSingle:单选框ID
  4   
  5    使用方法:
  6    if(e.Item.ItemType == ListItemType.Header)
  7    {
  8        ((CheckBox)e.Item.Cells[1].FindControl("chkAll")).Attributes.Add("onclick","CheckAll('" + this.dg.ClientID.ToString() + "','chkAll','chkSingle');");
  9    }
 10*/
 11function CheckAll(prefix,chkAll,chkSingle)
 12{
 13    var indexChkAll;
 14    if(prefix.length != 0)
 15    {
 16        indexChkAll        = prefix + "__ctl2_" + chkAll;
 17    }
 18    else
 19    {
 20        indexChkAll        = chkAll;
 21    }
 22    var objChkAll = document.getElementById(indexChkAll);
 23    var tempObj;
 24    for(var i=0;i<document.forms[0].elements.length;i++)
 25    {   
 26        tempObj = document.forms[0].elements[i];
 27        if(tempObj.type == "checkbox" && tempObj.id != indexChkAll && tempObj.id.indexOf(chkSingle) != -1)
 28        {
 29            tempObj.checked = objChkAll.checked;
 30        }
 31    }
 32}
 33/**//* 分页
 34    参数说明:
 35    prefix:前缀;chkAll:全选框;chkSingle:单选框ID
 36   
 37    使用方法:
 38    if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
 39    {
 40        ((CheckBox)e.Item.Cells[1].FindControl("chkSingle")).Attributes.Add("onclick","CheckSingle('" + this.dg.ClientID.ToString() + "','chkAll','chkSingle');");
 41    }
 42*/
 43function CheckSingle(prefix,chkAll,chkSingle)
 44{
 45    var indexChkAll;
 46    if(prefix.length != 0)
 47    {
 48        indexChkAll        = prefix + "__ctl2_" + chkAll;
 49    }
 50    else
 51    {
 52        indexChkAll        = chkAll;
 53    }
 54    var objChkAll = document.getElementById(indexChkAll);
 55    var tempObj;
 56    var allCount    = 0;
 57    var checkCount    = 0;
 58    for(var i=0;i<document.forms[0].elements.length;i++)
 59    {   
 60        tempObj = document.forms[0].elements[i];
 61        if(tempObj.type == "checkbox" && tempObj.id != indexChkAll && tempObj.id.indexOf(chkSingle) != -1)
 62        {
 63            if(tempObj.checked)
 64            {
 65                checkCount++;
 66            }
 67            else
 68            {
 69                objChkAll.checked = false;
 70                //break;
 71            }
 72            allCount++;
 73        }
 74    }
 75    if(checkCount != allCount)
 76    {
 77        objChkAll.checked = false;
 78    }
 79    else
 80    {
 81        if(allCount != 0)
 82        {
 83            objChkAll.checked = true;
 84        }
 85    }
 86}
 87/**//*www.goodsgy.com

www.goodsgy.com

[1] [2]  下一页

在百度中搜索:javascript实现datagrid客户端checkbox列的全选,反选
在Google中搜索:javascript实现datagrid客户端checkbox列的全选,反选
在Yahoo中搜索:javascript实现datagrid客户端checkbox列的全选,反选

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· Linux操作系统下的三种Java环境配置方法
· 面向Java程序员的db4o指南: 数组和集合
· Java与.NET 谁才能主宰未来?
· Java编程技术中汉字问题的分析及解决
· Java 泛型的理解与等价实现
· 在Java中利用JCOM实现仿Excel编程详解
· [图文] Java小技巧:关于Cookie的操作
· Java中消除实现继承和面向接口编程
· Java实战篇:设计自己的Annotation
· 使用Java程序的泛型应该注意的几个地方
 
· 用JS解决网站防挂iframe木马的方案
· 技巧 JavaScript常用判断函数
· IE浏览器中一个值得关注的JS问题
· 简易实现DIV圆角的JavaScript代码
· Javascript调用XML制作连动下拉框
· Javascript实现页内查找关键词实例
· JavaScript的系统函数学习
· JavaScript仿Windows关机效果
· javascript弹出窗口问题总结
· 在JS中使用RecordSet对象的GetRows方法

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)