我有一个非常简单的问题,我正在努力寻找解决方案。
基本上我有一个这样声明的 ASP.NET 文本框。
<asp:TextBox runat="server" ID="txtCourse" CssClass="input-xlarge HighlightibleField" placeholder=""></asp:TextBox>
在这个文本框上,我绑定了一个像这样的 jQuery UI 自动完成小部件。
$("#<% =txtCourse.ClientID %>").autocomplete({
source: ["Course1", "Course2", "Course3"],
select: function (event, ui) {
__doPostBack("<% =btnPostBacker.UniqueID %>", "");
}
});
回发按预期发生,但是 txtCourse.Text 不会保留(或回发)它填充的值。
因此,例如,我继续选择“Course1”,该值被填充到 txtCourse 文本框中,回发发生并且我查看 txtCourse.Text 的值,它仍然只是我使用键盘输入的文本(例如:“c”)。
我尝试设置一个计时器来稍微延迟回发的执行,如下所示:
setTimeout(function () {
__doPostBack("<% =btnPostBacker.UniqueID %>", "");
}, 500);
虽然这似乎可行,但我觉得它不应该是必要的,也不知道为什么需要它。
我究竟做错了什么?任何帮助将不胜感激。