我试图在文本框中使用datepicker。当我有这个文本框时它起作用了:
<input type="text" id="Arrival" placeholder="*Arrival" />
$(function () {
$("#Arrival").datepicker();
});
然后我不得不将输入框更改为asp:TextBox元素,现在datepicker还没有工作。这是我的文本框:
<asp:TextBox id="Arrival" placeholder="*Arrival" runat="server" onchange="activateSendButton()"/>
我绑错了吗?我是否必须以不同方式绑定它,因为它是一个asp:TextBox而不是输入元素?
注意:此特定问题与datepicker有关,但我在将其他jquery函数绑定到我的asp:TextBox元素时也遇到了问题。
答案 0 :(得分:0)
您不必以不同方式绑定它(尽管这是一个选项)。最简单的方法是将控件上的ClientIDMode
更改为static
,以便客户端上的ID与服务器上的ID匹配。您也可以在web.config
级别执行此操作,这样您就不需要为每个控件执行此操作。
<asp:TextBox id="Arrival" placeholder="*Arrival" runat="server" ClientIdMode="static" onchange="activateSendButton()"/>
另一个选项是使用内联表达式将正确的ID放入jQuery选择器。但我认为这很麻烦。
$(function () {
$("#<%= Arrival.ClientId %>").datepicker();
});
答案 1 :(得分:0)
您可以使用控件的ClientID
属性:
$(function () {
$('#<%= Arrival.ClientID %>');.datepicker();
});