2012-06-15 4 views
3

Я хочу выбрать только один переключатель, но я не могу это сделать. Вот мой код:только один выбор радиообъекта в ретрансляторе

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

я могу выбрать все радиокнопку с тем же имя_группами, но я не хочу этого. Я хочу только один выбор.

Как это сделать. Спасибо.

ответ

14

Это хорошо известная ошибка с использованием Radiobuttons ASP.NET Repeater:

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316495

Существует исправление доступно здесь:

http://www.ifinity.com.au/Blog/EntryId/87/Simple-fix-for-Radio-Button-controls-in-an-ASP-NET-Repeater-using-jQuery

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")); 
      }); 
+2

большой рупор ... есть пончик ;-) – musefan

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")); 
    }); 
}); 
+0

На самом деле предыдущее решение не работал для меня, пока вы (@xfan) сделал это исправление. Благодаря!! –

+0

Спасибо! Этот ответ устранил мои проблемы с исправлением. –

+0

Почему бы просто не установить атрибут имени всех переключателей на одно значение и оставить его на этом? – Djorge

Смежные вопросы