在我的asp.net mvc3应用程序中,我为搜索框添加了autoComplete。当我测试它时,从动作返回3个结果。您可以看到列表显示,但是,这是一个空列表,您只看到3< li> / li>,li标签之间没有任何内容。
我很确定,行动很好,因为,它确实返回了3个结果。我可以通过看到3个空的< li>标签。我应该怎么做才能添加名称< li>苹果< / li>
$("#searchbox").autocomplete({
source:"/Home/SearchIngredients",
minLength: 2
});
public virtual JsonResult SearchIngredients(string term)
{
var ingredients = _smoothieService.GetIngredients(term);
var data = ingredients.Select(x => new {Id = x.NDB_No, Value = x.Name}).Take(25).ToArray();
return Json(data, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:12)
这样的事情:
$('#search').autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/SearchIngredients",
dataType: 'json',
data: request,
success: function (data) {
response(data.map(function (value) {
return {
'label': '<li>' + value.Id + '</li>',
'value': value.Value
};
}));
}
});
},
minLength: 2
})