如何检查数据列表中选中了哪个单选按钮

本文关键字:单选按钮 列表 数据 何检查 检查 | 更新日期: 2023-09-27 18:29:09

我正在尝试使用javascript或c#获取数据列表中选中的单选按钮以及该单选按钮的值。

我有代码:

<asp:DataList ID="DataList1" runat="server" 
        BorderStyle="None" BorderWidth="1px" CellPadding="4" 
        DataKeyField="Qno" DataSourceID="SqlDataSource1">
        <EditItemStyle HorizontalAlign="Left" />
        <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
        <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
        <ItemStyle BackColor="White" ForeColor="#330099" />
        <ItemTemplate>
            Qno:
            <asp:Label ID="QnoLabel" runat="server" Text='<%# Eval("Qno") %>' />
            <br />
            Question:
            <asp:Label ID="QuestionLabel" runat="server" Text='<%# Eval("Question") %>' />
            <br />
            Ans1:
            <asp:RadioButton ID="RadioButton1" GroupName="gp" Text='<%# Eval("Ans1") %>' runat="server" />
            <br />
            Ans2:
            <asp:RadioButton ID="RadioButton2" GroupName="gp" runat="server" Text='<%# Eval("Ans2") %>' />
            <br />
            Ans3:
            <asp:RadioButton ID="RadioButton3" GroupName="gp" runat="server" Text='<%# Eval("Ans3") %>' />
            <br />
            Ans4:
            <asp:RadioButton ID="RadioButton4" GroupName="gp" runat="server" Text='<%# Eval("Ans4") %>' />
            <br />
            <br />
        </ItemTemplate>
        <SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
        <SeparatorStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" 
            Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Right" />
    </asp:DataList>

如何检查数据列表中选中了哪个单选按钮

使用此函数

<script type="text/javascript">
function GetSelectedRadioButtonValue(strGroupName) {
    var arrInputs = document.getElementsByTagName("input");
    for (var i = 0; i < arrInputs.length; i++) {
        var oCurInput = arrInputs[i];
        if (oCurInput.type == "radio" && oCurInput.name == strGroupName && oCurInput.checked)
            return oCurInput.value;
    }
    return "";
}
</script>

称之为

GetSelectedRadioButtonValue('gp')

请参阅查找已检查的单选按钮的值

你可以用这种方式

<script type="text/javascript">
function GetSelectedRadioButtonValue(strGroupName) {
    var arrInputs = document.getElementsByTagName("input");
    for (var i = 0; i < arrInputs.length; i++) {
        var oCurInput = arrInputs[i];
        if (oCurInput.type == "radio" && oCurInput.name == strGroupName && oCurInput.checked)
            return oCurInput.value;
    }
    return "";
}
</script>

您正在寻找一个javascript解决方案,但对于其他乐于使用JQuery$("input[name=g]:checked").val()​(其中"g"是组名)的人来说,将是一个快速的解决方案。

试试这个代码:

{
     foreach (DataListItem item in DataList.Items)
                {
                    RadioButtonList RB = item.FindControl("RB") as RadioButtonList;
                    if(RB!=null && RB.SelectedValue!=null)
                {
                    Label1.text=RB.SelectedValue //for testing purpose only
                }
           }

在Datalist的项绑定事件上尝试以下代码

RadioButton rdbtn= e.Item.FindControl("RadioButton1") as RadioButton;
var chkstring = rdbtn.Checked;

无论是否选中,都会得到该值类似地,