Jquery显示/隐藏单击功能不起作用

时间:2015-11-05 19:07:51

标签: jquery asp.net

在我的页面中,我有textboxesbuttons

对于textbox1,我向click写了一个toggle函数。当我点击textbox1时,toogle功能正常运行;它显示#something,我可以选择#something。但是,如果我点击button的同一页面上的#something,然后再次点击textbox1,则toogle功能无效。以下是我的代码。有什么想法吗?

$(document).ready(function () {
    $("#textbox1").click(function () {
        $('#Something').toggle("1000"); 
    });
});

提前致谢。

编辑:

这是html:

<table>
  <tr>
    <td> 
      <asp:TextBox ID="textbox1" placeholder=" -- select --" Width="200px" Height ="35px" runat="server" CssClass="search"></asp:TextBox>
      <asp:Button ID="btn1" Width="20px" Height ="35px" runat="server" Text="V" OnClick="btn1_Click" /> 
    </td>
 </tr>
</table>

2 个答案:

答案 0 :(得分:0)

带有runat="server"的asp文本框在构建时不会具有相同的ID

您必须使用$("#<%= Textbox1.ClientID %>").click()

答案 1 :(得分:0)

asp:Textbox会创建一个html <input />标记。 html标记的id可能与asp:Textbox服务器控件的id不同。

有两种方法可以解决这个问题:

  1. 更改您的javascript以注入以下内容:

    $("#<%= Textbox1.ClientID %>").click()

  2. 请注意,如果您的javascript位于外部文件中,则无效。

    1. 强制.NET使<input />标记的ID与服务器控件相同。您可以通过将以下属性添加到服务器标记来完成此操作:ClientIdMode="static"。像这样:

      <asp:TextBox ID="textbox1" ClientIdMode="static" ...>