JQuery и ASP: RadioButton и .change () не работают - PullRequest
2 голосов
/ 29 марта 2011

Нашел похожий вопрос, но он не решил мою проблему. Я пытаюсь вызвать событие .change () для отображения скрытого текста, когда пользователь выбирает RadioButton.

Я попытался сделать это в JSFiddle, и он работает с обычными формами, но не может заставить его работать с моей формой ASP.NET.

Оригинальный код - http://jsfiddle.net/pJgyu/8226/ (когда вы нажимаете Да или Нет, он отображает или скрывает абзац).

Мой ASP-код -

<asp:RadioButton ID="RadioButton1" runat="server" Text="Yes" GroupName="RadioGroup1" />    <br /></p>
<asp:RadioButton ID="RadioButton2" runat="server" Text="No" GroupName="RadioGroup1" />      

<p style="display: none">testing 1...2...3...</p>  

Когда я запускаю свой код JQuery -

$("input:radio").change(function ()
  $("p").toggle("slow");
});

и измените значение «input: radio» на # RadioButton1 (или 2) или даже на <% = RadioButton1%> ничего не происходит.

Итак, что я делаю не так? Я в целом JQuery ASP.NET нуб. :)

Спасибо за любые указания / указатели / советы.

Ответы [ 4 ]

4 голосов
/ 29 марта 2011

Попробуйте поместить все в документ готовым

$(function() {
  $( "#accordion" ).accordion();
  $("input:radio").change(function () {
     $("p").toggle("slow");
   });
});

Ваш существующий код на jsfiddle работает, так как вы выбрали jsfiddle для переноса всего в $(window).load()

1 голос
/ 29 марта 2011

Этот код работал для меня!Протестировано:)

<asp:RadioButton ID="RadioButton1" runat="server" Text="Yes" GroupName="RadioGroup1" />        
<br/>
<asp:RadioButton ID="RadioButton2" runat="server" Text="No" GroupName="RadioGroup1" />      

<p style="display: none">testing 1...2...3...</p>  


<script type="text/javascript">
   $(document).ready(function () {
        $("input:radio").change( function (){
            $("p").toggle("slow");
        });
    });
</script>
0 голосов
/ 29 марта 2011

Вы также можете получить событие click, иногда это хороший выбор

$("input:radio").click(function(){
    //yout code here
});
0 голосов
/ 29 марта 2011

Это может быть связано со значением ClientID, которое asp.net фактически назначает вашим элементам управления, когда они отображаются.

$(function(){

    var radioButton1 = '<%= RadioButton1.ClientID %>';
    var radioButton2 = '<%= RadioButton2.ClientID %>';

    $(radioButton1).change(function ()
      $("p").toggle("slow");
    });

    $(radioButton2 ).change(function ()
      $("p").toggle("slow");
    });
});
...