繁体   English   中英

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

[英]How to check which radio button is checked in data list?

我正在尝试使用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的itembound事件上尝试以下代码

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM