簡體   English   中英

如何防止radiobutton進行多重選擇?

[英]how to prevent radiobutton for multiple selection?

我在我的網格視圖控件中使用單選按鈕,現在我想允許用戶在網格視圖中只選擇一個單選按鈕,但我無法做到這一點。下面是我在設計中的代碼。請幫助我。

<asp:GridView ID="Docgrid" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
                     runat="server" AutoGenerateColumns="false" BorderStyle="None" GridLines="None">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:RadioButton ID="chkRow" GroupName='docid' runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="Id" HeaderText="DocId" ItemStyle-Width="50" />
                    <asp:BoundField DataField="DocName" HeaderText="DocName" ItemStyle-Width="50" />
                    <asp:BoundField DataField="DocType" HeaderText="DocType" ItemStyle-Width="50" />
                    <asp:BoundField DataField="Size" HeaderText="Size" ItemStyle-Width="50" />
                    <asp:BoundField DataField="UploadedBy" HeaderText="UploadedBy" ItemStyle-Width="50" />
                    <asp:BoundField DataField="Status" HeaderText="Status" ItemStyle-Width="50" />
                    <asp:TemplateField HeaderText="UpdatedBy" ItemStyle-Width="50">
                    <ItemTemplate>
                        <asp:Label ID="UpdatedBy" runat="server" Text='<%# Eval("UpdatedBy") %>'></asp:Label>
                    </ItemTemplate>
                    </asp:TemplateField>
                </Columns>

            </asp:GridView>

試試下面,

更改單選按鈕,如下所示,

<asp:RadioButton ID="chkRow" GroupName='docid' runat="server" onclick = "RadioCheck(this);" />

在javascript下面添加,

<script type = "text/javascript">
     function RadioCheck(rb) {
        var gv = document.getElementById("<%=Docgrid.ClientID%>");
        var rbs = gv.getElementsByTagName("input");

        var row = rb.parentNode.parentNode;
        for (var i = 0; i < rbs.length; i++) {
            if (rbs[i].type == "radio") {
                if (rbs[i].checked && rbs[i] != rb) {
                    rbs[i].checked = false;
                    break;
                }
            }
        }
    }    
</script>

在這里你可以使用Radiobuttonlist選擇其中一個項目

<asp:RadioButtonList ID="RadioButtonList1" runat="server">
                <asp:ListItem>Option 1</asp:ListItem>
                <asp:ListItem>Option 2</asp:ListItem>
                <asp:ListItem>Option 3</asp:ListItem>
            </asp:RadioButtonList>

將組中的所有單選按鈕放在容器對象(如PanelGroupBox 如此處所示

通常,無線電按鈕在其分組時僅默認接受一個選擇。 但是如果你仍然遇到問題,可以使用布爾控制變量(例如bool isAnySelected )並為你的單選按鈕檢查實現一個監聽器。 選擇其中一個時,查找變量,如果變量為false ,則將變量false true 如果變量已經為true ,請取消選中單選按鈕。

試試這個-

新的{@id = kk}應該是新的{@id = kk,Name =“grp”}以防止多個選擇單選按鈕。

解決此問題的最簡單方法是在所有單選按鈕的屬性窗口中將GroupName設置為任何名稱。 在我的情況下,我將GroupName設置為“ A ”。 將所有Radio Buttons屬性設置為相同的GroupName。 然后運行代碼:)

我希望這可能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM