用Javascript在客户端实现遍历datagrid,DataList控件,像MSN中的全选
刚刚看了..NET中遍历DataList控件,像MSN中的全选
的文章,突然想起我也做过类似功能,就是把控件里的行循环一次,这样一来会产生一个PostBack,要服务期端进行处理,我想这样一来好象对资源进行了浪费。
看下面的datagrid代码
<asp:TemplateColumn HeaderText="删除文章">
<HeaderTemplate>
删除文章
<input type="checkbox" id="checkDel" title="全选/全取消删除文章" onclick="CheckDelBox(this)" /><font color=#ff0000 size=1>全选/全取消</font>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="deleteCheckbox" runat="server" AutoPostBack="False"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<HeaderTemplate>
删除文章
<input type="checkbox" id="checkDel" title="全选/全取消删除文章" onclick="CheckDelBox(this)" /><font color=#ff0000 size=1>全选/全取消</font>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="deleteCheckbox" runat="server" AutoPostBack="False"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
我在选择id="checkDel" 的选择框时,要对模版中的deleteCheckbox进行全选和全取消
我调用了js
function CheckDelBox(box)
{
for (var i=0;i<document.Form1.elements.length;i++)
{
var e = document.Form1.elements[i];
if ( (e.type=='checkbox') )
{
var o=e.name.lastIndexOf('deleteCheckbox');
if(o!=-1)
{
e.checked = box.checked;
}
}
}
}
注意这段代码
var o=e.name.lastIndexOf('deleteCheckbox');
在某些情况下,id在客户端的呈现不是在aspx中你指定的id了,而是控件.ClientID,比如在DataGrid中放置的一些服务器端控件,查看一下源代码可以看到id是类似DataGrid1__ctl5_Hyperlink1而不是你指定的id了,所以我得做相应判断
收藏与分享
RSS订阅我 什么是RSS?
东莞.net俱乐部
我的系列文章
A.Sql Server2005 Transact-SQL 新兵器学习 B.MCAD学习
C.代码阅读总结
D.ASP.NET状态管理
E.DB(数据库)
F.WAP
G.WinForm
H.Flex
希望上面提到的知识对您有所提示,同时欢迎交流和指正
作者:aierong
出处:http://www.cnblogs.com/aierong
贴子以"现状"提供且没有任何担保,同时也没有授予任何权利!
本文版权归作者所有,欢迎转载!
原创技术文章和心得,转载注明出处!这也是对原创者的尊重!