2015-11-05 157 views
0

在我的頁面中,我有textboxesbuttonsJquery顯示/隱藏點擊功能不起作用

對於textbox1我寫了click函數到toggle。當我點擊textbox1時,toogle函數可以工作;它顯示#something,我可以選擇#something。但是,如果我在#something的同一頁上單擊button,然後再次單擊textbox1toogle函數不起作用。以下是我的代碼。有任何想法嗎?

$(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> 
+1

請提供'HTML' – camelCase

+0

​​ 的
user5530684

+0

什麼是'onclick =「btn1_click」'在做什麼?也許這與'toggle'功能相沖突? – camelCase

回答

0

內置

runat="server"一個asp文本框將不會有相同的ID

你不得不使用$("#<%= Textbox1.ClientID %>").click()

0

asp:Textbox將創建html <input />標記。 html標籤的id可能與asp:Textbox服務器控件的id不同。

有兩種方法來解決這個問題:

  1. 更改您的JavaScript注入如下:

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

請注意,如果你的JavaScript是這是不行的在外部文件中。

  1. 強制.NET使<input />標記的id與您的服務器控件相同。您可以通過將以下屬性添加到您的服務器標記來執行此操作:ClientIdMode="static"。像這樣:

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