我一定是错过了一些东西在这里,但我试图使用jQuery UI的自动完成与ASP。. NET页面方法。我用的是JSON。. NET序列化方法的响应,这肯定是有效的,并返回如下:
[{"ADMIN_ID":1,"ADMIN_NAME":"SMITH"}]
…这里是我的jquery代码:
$("#txtName").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "MyPage.aspx/GetPerson",
data: "{ 'q': '" + request.term + "', 'limit': '10' }",
contentType: "application/json",
dataFilter: function (data) { return data; },
success: function (data) {
var result = $.parseJSON(data.d)
response($.map(result, function (item) {
return {
label: item.ADMIN_NAME,
value: item.ADMIN_ID
}
}))
},
error: function (xhr, status, errorThrown) {
alert("Error: " + xhr.responseText);
}
});
},
minLength: 1
});
问题是,自动完成从来不显示任何项目。什么好主意吗?
先试试这个,我认为你的响应(…)代码是罪魁祸首:
$('#txtName').result(function(event, data, formatted) {
$("#result").html( !data ? "No match!" : "Selected: " + formatted);
});