jQueryUI的自动完成返回空列表(jQueryUI autoComplete returns b

2019-09-22 08:26发布

在我的asp.net MVC3应用程序,我加入的自动完成我的搜索框。 当我测试了一下,有3个结果返回从动作后面。 你可以看到一个列表出现了,然而,这是一个空的列表,你只看到3 <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);
    }

Answer 1:

事情是这样的:

$('#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
})


文章来源: jQueryUI autoComplete returns back empty list