如何检查数据列表中选中了哪个单选按钮
本文关键字:单选按钮 列表 数据 何检查 检查 | 更新日期: 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;
无论是否选中,都会得到该值类似地,