如何将jquery onclick事件添加到asp radiobutton?

时间:2012-03-09 21:11:15

标签: jquery asp.net

我有asp.net代码:

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

如何向RadioButton1添加“o​​nclick”事件,以便在点击时清除TextBox1?

我正在尝试这样做:

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

它什么都不做。

3 个答案:

答案 0 :(得分:3)

您可以在asp复选框和文本框控件上将ClientIDMode属性设置为static,并使用jquery注册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>

答案 1 :(得分:2)

您缺少.类选择器需要点.rb1

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

在@SKS好奇地指出:p之后,$("input .rb1")意味着寻找class=rb1里面的元素(读取子节点)input元素有意义的是你需要使用选择器$("input.rb1"),如

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

将选择class=rb1

的元素

答案 2 :(得分:0)

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

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