如何检查数据列表中选中的单选按钮?

时间:2012-03-28 06:46:16

标签: c# javascript asp.net

我正在尝试使用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>

5 个答案:

答案 0 :(得分:1)

使用此功能

<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')

参考to find the value of the radio button checked

答案 1 :(得分:0)

你可以这样做

<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>

答案 2 :(得分:0)

您正在寻找一个javascript解决方案,但适合其他任何乐意使用JQuery的人 $("input[name=g]:checked").val()​其中'g'是群组名称将是一个快速解决方案。

答案 3 :(得分:0)

试用此代码:

{
     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
                }
           }

答案 4 :(得分:0)

在Datalist的itembound事件上尝试以下代码

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

无论是否检查,您都会获得该值 同样地它