3

asp.net mvc3アプリケーションで、検索ボックスにオートコンプリートを追加しました。テストすると、アクションから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 に答える