【问题标题】:jQueryUI autoComplete returns back empty listjQueryUI autoComplete 返回空列表
【发布时间】:2012-09-05 18:49:58
【问题描述】:

在我的 asp.net mvc3 应用程序中,我为我的搜索框添加了自动完成功能。当我对其进行测试时,该操作返回了 3 个结果。可以看到出现了一个列表,但是,这是一个空列表,你只看到3个

  • ,li标签之间什么都没有。

    我很确定,操作很好,因为它确实返回了 3 个结果。我可以通过查看 3 个空的

  • 标签来验证这一点。怎么添加名字
  • apple
  •         $("#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);
        }
    

    【问题讨论】:

    标签: jquery asp.net-mvc asp.net-mvc-3 jquery-ui autocomplete


    【解决方案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
    })
    

    【讨论】:

    • 啊,很好,Value 属性是大写的。这可行,但他/她也可以更改控制器操作以返回小写 value
    • 这节省了我在网上搜索解决方案的时间。谢谢。
    猜你喜欢
    • 2018-07-09
    • 2019-08-18
    • 2021-03-11
    • 2015-10-27
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多