用Javascript在客户端实现遍历datagrid,DataList控件,像MSN中的全选

相关文章导航
  1. Sql Server2005 Transact-SQL 新兵器学习总结之-总结
  2. Flex,Fms3相关文章索引
  3. FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8>

 

刚刚看了..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 >


我在选择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了,所以我得做相应判断

收藏与分享

收藏到QQ书签 添加到百度搜藏 添加到百度搜藏 添加到雅虎收藏 分享到饭否

RSS订阅我  什么是RSS?

     
         订阅到有道阅读
     
   哪吒提醒   

东莞.net俱乐部

东莞.net俱乐部 欢迎您的加入

你可能感兴趣的:(JavaScript)