jQueryUI自动完成

时间:2014-07-21 14:53:30

标签: jquery jquery-ui autocomplete

我正在尝试使用远程源(json)进行自动完成,但我无法弄清楚应该怎么做以使其正常工作。

我得到的反应如下:

{
  "status": "ok",
  "count": 4,
  "data": [
    {
      "nickname": "Deadly",
      "id": 501689800
    },
    {
      "nickname": "Deadly00",
      "id": 517095041
    },
    {
      "nickname": "Deadly001",
      "id": 504471830
    },
    {
      "nickname": "DeadLy01",
      "id": 500877077
    }
  ]
}

我正在使用的脚本:

$(function() {
    var cache = {};
    $("#search").autocomplete({
        minLength: 3,
        source: function(request, response) {
                    var term = request.term;
                    if (term in cache) {
                        response(cache[term]);
                        return;
                    }
            $.getJSON("path/to/heaven/" + term, function(data) {
                cache[term] = data;
                response(data);
            });
        }
    });
});

自动填充显示适当数量的“建议字段”,但唯一的内容是“确定”。 何我改变它以便显示昵称?

2 个答案:

答案 0 :(得分:1)

而不是响应(数据),请尝试以下操作。

response($.map(data, function(item) {
    return {
        value: item.nickname
    }
}))

如果您收到任何错误,可以尝试this

答案 1 :(得分:0)

<强> DEMO

您应该使用

$( "#tags" ).autocomplete({
//source: availableTags
    source: function(request, response) {
            var term = request.term;
            $.getJSON("path/to/heaven/" + term, function(data) {
                cache[term] = data;
                //response(data);
                response($.map(data.data, function(item) {
                return {
                    value: item.nickname
                }
                }));
            });        

        }
});