动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Javascript教程
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Javascript教程 ]的信息

本月文章推荐
.javascript实现datagrid客户端ch.
.Javascript实现页内查找关键词实.
.javascript gb2312转utf-8.
.Javascript设计网页中的下拉菜单.
.javascript实现划词标记划词搜索.
.在b/s开发中经常用到的javascrip.
.Javascript实例教程(19) 使用HoT.
.图片下拉选择器的制作.
.用于自动添加Digg This!按钮的Ja.
.Javascript实例教程(14) JS代替C.
.图片自动缩小的js代码,用以防止图.
.几行代码轻松搞定网页的简繁转换.
.网页特效:图片随机显示技巧.
.在网页里做类似window右键的弹出.
.一种JavaScript的设计模式 .
.JavaScript学习:基础继承机制.
.javascript的作用域.
.用javascript的ShowModalDialog(.
.如何实现iframe(嵌入式帧)的自适.
.Javascript脚本实现静态网页加密.

javascript实现datagrid客户端checkbox列的全选,反选

文章类别:Javascript教程 | 发表日期:2006-12-19 |


最简格式:这是一个偷巧的方法,但不通用。前提是这个页面只有一个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;
}

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


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


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

// 全选
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;
 }
}

// 获值
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;
 
}

推荐通用详细格式: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/**//*
 88    参数说明:
 89    prefix:前缀;chkAll:全选框;chkSingle:单选框ID
 90    type:1【全选】,2【反选】,3【取消】
 91   
 92    使用方法:
 93    this.btnSelectAll.Attributes.Add("onClick","CheckType('" + this.dg.ClientID.ToString() + "','chkAll','chkSingle',1);");
 94    this.btnUnSelectAll.Attributes.Add("onClick","CheckType('" + this.dg.ClientID.ToString() + "','chkAll','chkSingle',2);");
 95    this.btnCancelSelect.Attributes.Add("onClick","CheckType('" + this.dg.ClientID.ToString() + "','chkAll','chkSingle',3);");
 96*/
 97function CheckType(prefix,chkAll,chkSingle,type)
 98{
 99    var indexChkAll;
100    if(prefix.length != 0)
101    {
102        indexChkAll        = prefix + "__ctl2_" + chkAll;
103    }
104    else
105    {
106        indexChkAll        = chkAll;
107    }
108    var objChkAll = document.getElementById(indexChkAll);
109    var tempObj;
110    var allCount    = 0;
111    var checkCount    = 0;
112    for(var i=0;i<document.forms[0].elements.length;i++)
113    {   
114        tempObj = document.forms[0].elements[i];
115        if(tempObj.type == "checkbox" && tempObj.id != indexChkAll && tempObj.id.indexOf(chkSingle) != -1)
116        {
117            switch(type)
118            {
119                case 1:
120                    tempObj.checked = true;
121                    break;
122                case 2:
123                    tempObj.checked = !tempObj.checked;
124                    break;
125                case 3:
126                    tempObj.checked = false;
127                    break;
128            }
129            if(tempObj.checked)
130            {
131                checkCount++;
132            }
133            allCount++;
134        }
135    }
136    if(checkCount != allCount)
137    {
138        objChkAll.checked = false;
139    }
140    else
141    {
142        if(allCount != 0)
143        {
144            objChkAll.checked = true;
145        }
146    }
147    window.event.returnValue = false;
148    return false;
149}
150
151/**//*
152    参数说明:
153    prefix:前缀;chkAll:全选框;chkSingle:单选框ID
154
155    使用方法:
156    this.btnDelete.Attributes.Add("onClick","SubmitCheckBox('" + this.dg.ClientID.ToString() + "','chkAll','chkSingle');");
157*/
158function SubmitCheckBox(prefix,chkAll,chkSingle,msg)
159{
160    var indexChkAll;
161    if(prefix.length != 0)
162    {
163        indexChkAll        = prefix + "__ctl2_" + chkAll;
164    }
165    else
166    {
167        indexChkAll        = chkAll;
168    }
169    var objChkAll = document.getElementById(indexChkAll);
170   
171    var tempObj;
172    var allCount    = 0;
173    var checkCount    = 0;
174    for(var i=0;i<document.forms[0].elements.length;i++)
175    {   
176        tempObj = document.forms[0].elements[i];
177        if(tempObj.type == "checkbox" && tempObj.id != indexChkAll && tempObj.id.indexOf(chkSingle) != -1)
178        {
179            if(tempObj.checked)
180            {
181                checkCount++;
182            }
183            allCount++;
184        }
185    }
186    if(allCount == 0) //没有数据
187    {
188        window.alert("当前没有" + msg + "可供删除");
189        window.event.returnValue = false;
190        return false;
191    }
192    else
193    {
194        if(checkCount == 0)
195        {
196            window.alert("没有选中要删除的" + msg + "");
197            window.event.returnValue = false;
198            return false;
199        }
200        else
201        {
202            //if(window.confirm("确定要删除当前选中的【" + checkCount.toString() + "】项吗?") == false)
203            if(window.confirm("确定要删除当前选中的" + msg + "吗?") == false)
204            {
205                window.event.returnValue = false;
206                return false;
207            }
208        }
209    }
210}


http://www.cnblogs.com/skylaugh/archive/2006/12/18/596098.html


上一篇:用于自动添加Digg This!按钮的JavaScript 人气:6925
下一篇:javascript实现划词标记划词搜索功能 人气:7184
点击此处浏览全部javascript的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報