如何将jquery函数绑定到asp:TextBox?

时间:2015-02-19 16:02:33

标签: jquery asp.net input textbox bind

我试图在文本框中使用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元素时也遇到了问题。

2 个答案:

答案 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();
});