Js实现Repeater全选/反选 功能 终极解决方案

时间:2022-01-03 03:56:43

JavaScript代码:

function   CheckAll(e,itemname){
    
var  aa = document.getElementsByName(itemname);
    
if (aa == undefined)  return ;
    
for  ( var  i = 0 ; i < aa.length; i ++ )aa[i].checked  =  e.checked;
}

 

在HeaderTemplate中或者在Repeater之外直接添加全选的一个CheckBox:

  < input  name ="chkall"  value ="1"  type ="checkbox"  onclick ="CheckAll(this,'Item')" />
在ItemTemplate中绑定的时候只需要给Input设置目前行的ID编号等即可: 
< input  name ="Item"  type ="checkbox" />
测试,运行,搞定。
                                                                                                 
如果需要获取到 哪些ItemTemplate的Checkbox选中的话,那么在ItemTemplate中
< input  name ="Item"  type ="checkbox"  value ='<%#Eval("MessageID")% > '/>
在后台CS代码中,获取Item的值的简单方法:
            foreach  (var item  in  Request.Form[ " Item " ].Split( new   char [] {  ' , '  }))
            {
                Response.Write(item.ToString()
+ " <bR/> " );
            }
获取到Ids后,再执行什么操作就都方便了。此处不再多言了,还在忙项目……