2012-03-09 73 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

相关问题