C# 實現checkboxlist 單選功能(轉貼)

  • 3419
  • 0
  • C#
  • 2019-03-20

checkboxlist 為asp.net 的多選工具,通常我們的單選會利用radioButton。但使用者要求覺得這樣很醜,所以希望可以統一。


https://sprout0110.wordpress.com/2009/07/15/asp-net-checkboxlist-%E5%AF%A6%E5%81%9A%E5%96%AE%E9%81%B8%E8%BD%89%E8%B2%BC/

這篇實作,便可以達成我所需要的。

 

function CheckBoxList_Click(sender) 
{
        var container = sender.parentNode;        
        if(container.tagName.toUpperCase() == "TD") { // table 布局,否則為span布局
            container = container.parentNode.parentNode; // 層次: <table><tr><td><input />
        }        
        var chkList = container.getElementsByTagName("input");
        var senderState = sender.checked;
        for(var i=0; i<chkList.length;i++) {
            chkList[i].checked = false;
        }     
        sender.checked = senderState;          
}
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
    <asp:ListItem onclick="CheckBoxList_Click(this)" Value="Item1">Item1</asp:ListItem>
    <asp:ListItem onclick="CheckBoxList_Click(this)" Value="Item2">Item2</asp:ListItem>
    <asp:ListItem onclick="CheckBoxList_Click(this)" Value="Item3">Item3</asp:ListItem>
    <asp:ListItem onclick="CheckBoxList_Click(this)" Value="Item4">Item4</asp:ListItem>
    <asp:ListItem onclick="CheckBoxList_Click(this)" Value="Item5">Item5</asp:ListItem>
</asp:CheckBoxList>