2011-03-29 66 views
2

發現了類似的問題,但它並沒有解決我的問題。我正在嘗試調用.change()事件以在用戶選擇RadioButton時顯示一些隱藏文本。JQuery和ASP:RadioButton和.change()不起作用

我在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"); 
}); 

和改變 「輸入:廣播」 到#RadioButton1(或2),甚至<% = RadioButton1%>沒有任何反應。

那麼,我做錯了什麼?我是一個JQuery整體ASP.NET noob。 :)

感謝您的任何方向/指針/提示。

+0

你可以發佈你的asp.net應用程序呈現HTML,我想知道,如果ID該asp.net渲染是你所期待的。 – Swaff 2011-03-29 13:34:19

+0

你能發佈更多的asp和jquery代碼嗎?在你的asp.net代碼中,在第一個單選按鈕後面有一個額外的結尾'

',是爲了什麼? – edgi 2011-03-29 13:44:53

+0

嘿在叢林中駝鹿 - 是的,我刪除了我的申請。有一些額外的東西在附近。 Mark讓回答得到了答案(見下文)。 – Valien 2011-03-29 13:47:42

回答

4

試着將一切文檔準備

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

上的jsfiddle您現有的代碼工作中,因爲你選擇了有的jsfiddle在$(window).load()

+0

馬克 - 輝煌!就是這樣。現在就像魅力一樣。非常感謝。不能相信這件事很簡單。 :)猜猜我需要閱讀更多的JQuery文檔。 – Valien 2011-03-29 13:46:51

+0

+1使用'輸入:無線​​電' – eggy 2013-12-16 01:05:39

0

包裹的一切,這可能是與客戶端ID值實際上,asp.net會在您的控件呈現時分配您的控件。

$(function(){ 

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

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

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

此代碼對我有用!經測試:)

<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

你可以單擊事件太多,有的時候是一個不錯的選擇

$("input:radio").click(function(){ 
    //yout code here 
});