2012-03-09 97 views
1

我有asp.net代碼:如何將jquery onclick事件添加到asp單選按鈕?

<asp:RadioButton ID="RadioButton1" CssClass="rb1" GroupName="grp1" runat="server" /> 
<br/> 
<asp:RadioButton ID="RadioButton2" CssClass="rb2" GroupName="grp1" runat="server" /> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

在瀏覽器,它看起來像這樣:

<span class="rb1"> 
<input id="MainContent_RadioButton1" type="radio" value="RadioButton1" name="ctl00$MainContent$grp1"> 
</span> 
<br> 
<span class="rb2"> 
<input id="MainContent_RadioButton2" type="radio" value="RadioButton2" name="ctl00$MainContent$grp1"> 
</span> 
<input id="MainContent_TextBox1" type="text" name="ctl00$MainContent$TextBox1"> 

如何 「的onclick」 事件添加到RadioButton1,所以點擊時會清除TextBox1的?

我試圖做到這一點:

<script type="text/javascript" language="javascript"> 
    $("input rb1").click(function() { 
     alert('1'); 
    }); 
</script> 

它什麼都不做。

+0

確保您包括jQuery庫。 – orolo 2012-03-09 21:14:06

回答

0
$('#mainContent_RadioButton1').click(function() { 

$('.rb1 input').click(function() { 
+0

最終這將在不同的應用程序中,因此「mainContent」將被其他內容自動替換。我可以使用cssClass添加onClick事件嗎? – 2012-03-09 21:15:29

+0

是的,請參閱編輯。類用「。」表示。 – orolo 2012-03-09 21:17:52

+1

@ user671729請注意,如果將相同的css類用於不同的單選按鈕,則會觸發處理程序。 – 2012-03-09 21:18:39

3

您可以設置在ASP複選框和TextBox控件和使用jQuery的屬性的ClientIDMode爲靜態註冊click事件並清空文本框的值。

<asp:RadioButton ID="RadioButton1" CssClass="rb1" GroupName="grp1" runat="server" ClientIDMode="Static"/> 

<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static"/> 

<script type="text/javascript"> 
$(function(){ 
    $("input#RadioButton1").click(function(){ 
     $("input#TextBox1").text(""); 
    }); 
}); 
</script> 
+0

我把腳本放在asp.net頁面的頂部,所以元素還沒有渲染。 有可能通過$(document).ready或通過將腳本放在頁面底部來修復 ' ' – 2012-03-09 22:40:23

+0

我的例子是準備文檔的快捷方式,它應該工作得很好。 – 2012-03-10 07:45:57

2

你缺少一個.類選擇需要像.rb1

<script type="text/javascript"> 
    $("input .rb1").click(function() { 
     alert('1'); 
    }); 
</script> 

後@SKS指出好奇:p點,$("input .rb1")意味着看對於帶有的元素10裏(讀的子女)的input元素是沒有意義的,你需要使用選擇$("input.rb1")

<script type="text/javascript"> 
    $("input.rb1").click(function() { 
     alert('1'); 
    }); 
</script> 

,將選擇元素(S)與class=rb1

+0

我很想知道'input .rb1'是什麼意思。順便說一下,.rb1是輸入的包裝。 – 2012-03-09 21:24:13

相關問題