在我的页面中,我有textboxes
和buttons
。
对于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>
答案 0 :(得分:0)
runat="server"
的asp文本框在构建时不会具有相同的ID
您必须使用$("#<%= Textbox1.ClientID %>").click()
答案 1 :(得分:0)
asp:Textbox
会创建一个html <input />
标记。 html标记的id可能与asp:Textbox
服务器控件的id不同。
有两种方法可以解决这个问题:
更改您的javascript以注入以下内容:
$("#<%= Textbox1.ClientID %>").click()
请注意,如果您的javascript位于外部文件中,则无效。
强制.NET使<input />
标记的ID与服务器控件相同。您可以通过将以下属性添加到服务器标记来完成此操作:ClientIdMode="static"
。像这样:
<asp:TextBox ID="textbox1" ClientIdMode="static" ...>