各行に RadioButtonList を含むリピーターがあります。
<asp:Repeater ID="rptAccessories" runat="server" OnItemDataBound="rptAccessories_ItemDataBound">
<ItemTemplate>
<tr>
<td style="display: none">
<asp:Label ID="lblAccID" runat="server" Text='<%# Eval("id") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</td>
<%-- POPULATE CONDITION TABLE--%>
<td colspan="6">
<asp:RadioButtonList ID="rblCondition" Width="640px" CssClass="rblist" ValidationGroup ="vag" Style="margin-left: 40px; margin-right: -40px;" RepeatDirection="Horizontal" runat="server"></asp:RadioButtonList>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
しかし、ラジオボタンが選択された値を持っていることを検証する方法を見つけるのに本当に苦労しています。
RequiredFieldValidator を使用してみましたが、コントロールが見つからないというエラーが表示されます。
JQueryも使用してみましたが、実行時にのみ作成されるため、RadioButtonListのIDをJQueryに渡す方法がわからないため、これも困難です。
$(document).ready(function() {
$('#btnSubmit').on('click', function(e) {
var cnt = $("#rblCondition :radio:checked").length;
if (cnt == 0)
{
alert('Select any option.');
e.preventDefault();
}
else
alert('Well Done!!!!');
});
});
また、カスタム CSS クラスを設定して、これを識別子として使用しようとしました。
var cnt = $(".required :radio:checked").length;
しかし、これはうまくいきませんでした。
明らかな何かが欠けていると感じています...