知识点 - DataList中CheckBox实现单选

JS脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function SetCheckBoxState()
{
    var dom=document.all;
    var el=event.srcElement;
    if(el.tagName=="INPUT" && el.type.toLowerCase()=="checkbox")
    {
        for(i=0;i<dom.length;i++)
        {
            if(dom[i].tagName=="INPUT" && dom[i].type.toLowerCase()=="checkbox")
            {
                dom[i].checked=false;
            }
        }
     }
     el.checked=!el.checked;
}

前台代码:

1
2
3
4
5
6
7
<asp:DataList ID="dlRoleList" runat="server" RepeatColumns="3" Width="100%" DataKeyField="RoleID"
    OnItemDataBound="dlRoleList_ItemDataBound">    
    <ItemTemplate>                                      
        <asp:CheckBox ID="cbRoles" Text='<%# DataBinder.Eval(Container.DataItem,"RoleName") %>'
    runat="server" />                                         
    </ItemTemplate>                                          
</asp:DataList>

 

后台代码实现:

1
2
3
4
5
6
7
8
9
10
11
protected void dlRoleList_ItemDataBound(object sender, DataListItemEventArgs e)
{
    if(e.Item.ItemIndex<0) 
        return;
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        System.Web.UI.WebControls.CheckBox chkExport;
        chkExport = (CheckBox)e.Item.FindControl("cbRoles");
        chkExport.Attributes.Add("OnClick","SetCheckBoxState()");        
     }
}

 

posted @   raysbo  阅读(1245)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示