请帮助!
我正在尝试使用Web服务(ASMX)文件。当我查看并查询它时,页面返回我想要的内容。所以这个页面看起来很好。
问题是我正在尝试在我的ASP.NET应用程序中向文本框添加自动完成,但它似乎没有做任何事情!我在我的Site.master文件中包含了所有相关的JQuery文件(jquery-ui.js,jquery-ui-css,query-1-11.2.min.js)。
在我的页面中,我已经包含了Javascript来执行自动完成功能。
有人能指出我正确的方向吗?我还在使用IE8 ......
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
$(document).ready(function () {
$('#txtAutoFill').autocomplete({
minLength: 2,
source: function (request, response) {
$.ajax({
url: 'UserList.asmx/GetAutoCompleteData',
method: 'post',
contentType: 'application/json;charset=utf-8',
//data: JSON.stringify({ username: request.username }),
data: request.username,
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
}
});
});
</script>
<asp:Content ID="Content2" ContentPlaceHolderID="mainContentPH" runat="server">
<h1 id="h01"></h1>
<asp:TextBox ID="txtAutoFill" runat="server" CssClass="form-control"></asp:TextBox>
</asp:Content>
答案 0 :(得分:0)
要检查的一件事。即使您的文本框ID是&#34; txtAutoFill&#34;在服务器端,它可以包括生成实际页面时的容器ID(即Content2_txtAutoFill)。如果是这种情况,请在浏览器中查看页面来源,并在您的javascript中更改您的ID以与之匹配。另请参阅Understanding and implementing jQuery autocomplete with AJAX source and appendTo
答案 1 :(得分:0)
添加ClientIDMode =&#34;静态&#34;到您的TextBox控件
<asp:TextBox ClientIDMode="Static" ID="txtAutoFill" runat="server" CssClass="form-control"></asp:TextBox>