0

我有一个 div,单击它时,会通过以下 jQuery 显示一个隐藏的 asp:textbox。

      function BindEvents() {
          $(document).ready(function () {
             $("#showtextbox").click(function () {  
                 $("#TextBox1").removeClass("hidden"); 
                 $("#TextBox1").addClass("showInline");  
      });

这工作正常,除非更新面板被刷新。刷新后,单击“showtextbox”时,文本框保持隐藏状态。我知道 jQuery 正在运行,因为它在调试时被命中。这是我的代码。

  <ContentTemplate>
        <script type="text/javascript">
              Sys.Application.add_load(BindEvents);
        </script>
   </ContentTemplate>

   <asp:textbox runat="server" id="TextBox1"  CssClass="hidden" /> <span id=”showtb8”/>

有什么想法吗?刷新更新面板后如何使文本框可见?我认为在将它添加到 Sys.Application.add_load 之后它会起作用,但事实并非如此。如果这有所不同,这也在向导控件中。

*我应该注意,在显示和隐藏常规 div 时,同样的逻辑可以正常工作。它只是不适用于 asp:textbox。

4

1 回答 1

0

ajax 调用后,如果您使用常规绑定,事件绑定将丢失。试试onjquery的功能。

         $("#showtextbox").on('click',function () {  
             $("#TextBox1").removeClass("hidden"); 
             $("#TextBox1").addClass("showInline");  
          });
于 2013-05-29T14:52:04.987 回答