2012-02-20 76 views
1

对不起,我找不到任何答案。我不能让JQueryUI与ASP.net服务器控件一起工作

这是一个已知的问题?它有解决方案吗?

请帮忙。我想ASP.net服务器使用jQueryUI的控制

示例脚本

$(document).ready(function() { 
      $('#txtSearch').datepicker({ 
       showPeriod: true, 
       showLeadingZero: true 
      }); 
      $('#Text1').datepicker({ 
       showPeriod: true, 
       showLeadingZero: true 
      }); 
     }); 

样品标记

<input id="Text1" type="text"/> 
    <asp:TextBox ID="txtSearch" runat="server" Height="21px" Width="196px"> 
    </asp:TextBox> 

的事情是在其工作正常的html控制,但不是在asp控制 我欣赏任何帮助。谢谢!

回答

1

请尝试以下操作。如果您查看页面的源代码,您将看到asp.net控件的ID已动态更改。使用下面的可以访问该动态地生成的ID为txtSearch html元素:

$(document).ready(function() { 
      $('#<%=txtSearch.ClientID%>').timepicker({ 
       showPeriod: true, 
       showLeadingZero: true 
      }); 
      $('#Text1').timepicker({ 
       showPeriod: true, 
       showLeadingZero: true 
      }); 
     }); 
+0

的作品就像一个魅力! =) – 2012-02-20 17:31:34

0

当服务器控制呈现,控制的ID被改变。所以你的txtSearch id会变成类似ct001_txtSearch的东西。 这就是jquery无法找到它的原因,因为它正在寻找id'txtSearch',但没有使用id'txtSearch'的控件。

尝试使用clientID来引用该id。

0

快速之一可能是:只使用HTML控件并将其标记为RUNAT = “服务器”

居:

<input type="text" id="Textbox1" runat="server"> 
+0

我试过了,它没有工作 – 2012-02-20 17:29:49

+0

使用像萤火虫(或简单地查看html页面的来源)的工具,并找出什么是由asp.net为该控制产生的id。或者只是将一个css类添加到您的控件中,并将jquery日历绑定到类而不是id。 – 2012-02-20 17:32:12

相关问题