3

在我的 asp.net mvc3 应用程序中,我为我的搜索框添加了 autoComplete。当我对其进行测试时,该操作返回了 3 个结果。你可以看到一个列表出现了,然而,这是一个空列表,你只看到3个<li></li>,并且li标签之间什么都没有。

我很确定,行动很好,因为,它确实返回了 3 个结果。我可以通过查看 3 个空的 <li> 标签来验证这一点。怎么添加名字<li>apple</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);
    }
4

1 回答 1

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
})
于 2012-09-12T17:38:20.887 回答