Js实现repeater全选功能

本文介绍了一个ASP.NET项目中实现全选复选框功能的方法,包括使用Repeater控件结合JavaScript来同步全选状态与子复选框状态,并展示了如何在服务器端获取被选中的项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该程序来源于网络,只是对某些地方做了些修改,粗略测试已通过,但翻页时似乎还要加入全选复选框的初始化。在gridview和datalist也应该成立,但未测试。

.aspx页代码:

<%--   全选复选框   --%>
< asp:CheckBox ID = " CB_AllSelect "  runat = " server "  onclick = ' SelectAll(this,"CheckBox1","Repeater1") '  Text = " 选择所有 "   />
<%--   repeater每项复选框   --%>
< asp:CheckBox ID = " CheckBox1 "  runat = " server "   />

js代码:

< script language = " javascript "  type = " text/javascript " >
    
function  SelectAll(parentChk,ChildId,bigControlID)   
    
{   
        
var oElements = document.getElementsByTagName("INPUT");   
        
var bIsChecked = parentChk.checked;   

       
for(i=0; i<oElements.length;i++)   
        
{   
            
if( IsCheckBox(oElements[i]) &&    
                IsMatch(oElements[i].id, ChildId, bigControlID))   
            
{   
                oElements[i].checked 
= bIsChecked;   
            }
           
        }
      
     }
   
      
    
function  IsMatch(id, ChildId, controlID)   
    
{   
        
var sPattern ='^'+controlID+'_+.*'+ChildId+'$'
        
var oRegExp = new RegExp(sPattern);   
        
if(oRegExp.exec(id))    
            
return true;   
        
else    
            
return false;   
    }
   
      
    
function  IsCheckBox(chk)   
    
{   
        
if(chk.type == 'checkbox'return true;   
        
else return false;   
    }
   
</ script >

 

.aspx.cs

protected   void  Button1_Click( object  sender, EventArgs e)
    
{
        System.Text.StringBuilder temp 
= new System.Text.StringBuilder();
        temp.Append(
"<br>choose: ");
        
foreach (RepeaterItem ri in Repeater1.Items)
        
{
            CheckBox chb
=(CheckBox)ri.FindControl( "CheckBox1"); 
            
if (chb.Checked)
            
{
                Label lblValue 
= (Label)ri.FindControl("Label2");
                temp.Append(lblValue.Text 
+ "  ");
            }

        }

        Response.Write(temp);
 }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值