我在asp:repeater中定义了两个单选按钮(“是”,“否”)。它们在运行时是动态的,这意味着如果数据库返回5个问题,那么对于每个问题,我们都有选项(“是”,“否”)。 The image attached shows the existing design of the radio buttons
现在,我想验证在asp:repeate中定义的这些单选按钮,以检查是否使用javascript / jquery选中了单选按钮。下面是代码:
<asp:Repeater ID="rpSuppQuestions" runat="server" OnItemCommand="rpSuppQuestions_ItemCommand" OnItemDataBound="rpSuppQuestions_ItemDataBound">
<ItemTemplate>
<div class="div_soru_wrapper">
<table width="100%" border="0" style="text-align: left">
<tr>
<td align="left" style="vertical-align: top;">
<asp:HiddenField ID="hdnQuestionID" Value='<%# Bind("Question_ID") %>' runat="server" />
<asp:Label ID="Label1" runat="server" Text="Q" CssClass="labelSmallBold"><%# Convert.ToString(Container.ItemIndex + 1) %>:</asp:Label>
</td>
<td align="left">
<asp:Label ID="lblSuppQuestions" runat="server" Text='<%# Bind("Question_description") %>'
CssClass="labelSmallBold" Width="900px"></asp:Label>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="Label5" runat="server" Text="A" CssClass="labelSmallBold"><%# Convert.ToString(Container.ItemIndex + 1) %>:</asp:Label>
</td>
<td align="left">
<table align="left">
<tr>
<td>
<asp:RadioButton ID="rbYes" runat="server" type="radio" CssClass="rpyes" name="tttt" GroupName="rbAnswer" Text="Yes" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
<asp:RadioButton ID="rbNo" runat="server" CssClass="rpyes" GroupName="rbAnswer" Text="No" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</ItemTemplate>
</asp:Repeater>
答案 0 :(得分:1)
您可以使用jQuery测试是否检查了特定的对象,如下所示:
if ($("#radio1").prop("checked")) {
// do something
}
//或
if ($("#radio1").is(":checked")) {
// do something
}
//或
如果没有设置ID,则可以按组名和值进行操作
if ($("input[name='radioGroup'][value='1']").prop("checked"))
您可以按以下方式获取组中当前选中的值:
$("input[name='radioGroup']:checked)
;
答案 1 :(得分:1)
我认为您正在寻找的是使用jQuery选择asp.net控件的方法。
我建议在控件上使用.NET Framework 4.0中引入的ClientIDMode="Static"
,以便其ID保持不变,您的html应该如下所示:
<asp:RadioButton ClientIDMode="Static" ID="rbYes" runat="server" type="radio" CssClass="rpyes" name="tttt" GroupName="rbAnswer" Text="Yes" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
<asp:RadioButton ClientIDMode="Static" ID="rbNo" runat="server" CssClass="rpyes" GroupName="rbAnswer" Text="No" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
然后您可以在javascript / jQuery中使用普通的ID选择器,其外观如下:
if($("rbYes").prop("checked", true)) {
//Your code here
}
答案 2 :(得分:0)
为存在单选按钮的表提供一些类名。
<table align="left" class='YourClass'>
<tr>
<td>
<asp:RadioButton ID="rbYes" runat="server" type="radio" CssClass="rpyes" name="tttt" GroupName="rbAnswer" Text="Yes" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
<asp:RadioButton ID="rbNo" runat="server" CssClass="rpyes" GroupName="rbAnswer" Text="No" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
</td>
</tr>
</table>
然后在jQuery中检查以下内容。
rdbArray = $.map($(".YourClass"), function(item, index){
if($(item).find(".rpyes").prop("checked"))
{
return "checked"; // or whatever you want
}
})