我正在努力使用以下自动完成功能。
如果我调试MyMethod,我可以看到它带回了正确的数据,Jquery自动完成似乎有问题。处理返回数据的响应部分似乎有问题。
我不确定哪些回复($.map(data.d, function(item)
完全正确,以及它应该是data
还是data.d
帮助将不胜感激。谢谢
$(document).ready(function() {
$("[id$='_txtStandard']").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "MyPage.aspx/MyMethod",
data: '{"MyParam":"' + request.term + '"}',
dataType: "json",
success: function(data) {
response($.map(data.d, function(item) {
return {
ID: item.ID,
Value: item.Value
};
}));
},
error: function(result) { debugger; }
});
},
minLength: 1
})
});
public class AutoComplete
{
public string ID { get; set; }
public string Value { get; set; }
}
[WebMethod]
public static List<AutoComplete> MyMethod(String AccommodationName)
{
return a list....
}
答案 0 :(得分:0)
在Jqueryui.com中尝试使用此放置Css
Jquery的:
$('#textboxid').autocomplete({
source: function (request, response) {
$.getJSON("/Controller/textboxid?term=" + request.term, function (data) {
response(data);
});
},
minLength: 1,
delay: 100
});
JsonResult控制器
public JsonResult Dimen(string term)
{
var dat = new DBEntity();
var query = entity.TblTable.Select(s => s.Columnname.ToUpper()).ToList();
var getauto = query.Where(item => !string.IsNullOrEmpty(item) && item.ToUpper().StartsWith(term.ToUpper())).Distinct().ToList();
dat.Dispose();
return Json(getauto, JsonRequestBehavior.AllowGet);
}