我想只选择一个单选按钮,但我不能这样做。 这是我的代码:
<asp:Repeater ID="Repeater_secenekler" runat="server" DataSource='<%#Eval("Secenekler")%>'>
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="margin-left: 20px;">
<asp:CheckBox ID="CheckBox" runat="server" Text='<%#Eval("OptionName")%>' Visible='<%# Eval("TypeId").ToString() == "1" %>' />
<asp:RadioButton ID="RadioButton" runat="server" Text='<%#Eval("OptionName")%>' Visible='<%# Eval("TypeId").ToString() == "2" %>'
GroupName="RadioButtonGrup" />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
我可以选择具有相同组名的所有单选按钮,但我不想要这个。我只想要一个选择。
我该怎么做? 感谢。
答案 0 :(得分:14)
这是使用RadioButtons的ASP.NET Repeater的一个众所周知的错误:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316495
此处有一个修复程序:
jQuery("[name$='$optValue']").attr("name",jQuery("[name$='$optValue']").attr("name"));
jQuery("[name$='$optValue]").click(function (){
//set name for all to name of clicked
jQuery("[name$='$optValue]").attr("name", this.attr("name"));
});
答案 1 :(得分:8)
快速修复上述答案,以便在执行脚本时不会出现任何错误。
$(function () {
$('[name$="$YourGroupName"]').attr("name", $('[name$="$YourGroupName"]').attr("name"));
$('[name$="$YourGroupName"]').click(function () {
//set name for all to name of clicked
$('[name$="$YourGroupName"]').attr("name", $(this).attr("name"));
});
});