0

当用户键入 abc 时,typeahead 发送 ajax 请求,然后是 a,然后是 ab,然后是 abc。如果 a 的响应出现在 abc 的响应之后,它最终会显示 a 而不是 abc 的建议。如何解决这个问题?

我已经给出了我的 JSON 响应和 javascript 代码。但是这个问题与我认为的代码无关。

我的 JSON 响应:

{
    "tt": 0.24989604949951172,  
    "suggestions": [  
        "hurt locker",  
        "hunger games",  
    ],  
}

我的 JavaScript 代码:

function typeahead_fn() {
       var map = {};
       $this = $(this);
       $this.typeahead({
             source: function (query, process) {
                     return $.get("/kgraphsearch/", { w: query }, function (data) {
                                     $('#surl').html(data.search_query);
                                     $('#surl').attr("href", data.search_query);
                                     return process(data.suggestions);
                                 });
             },
             matcher: function (param) {return true},
             sorter: function (items) {
                  return items;
                  // implementation
             },
             property: 'name',
             items: 5,
             updater: function(item) {
                  return item;
             },
             onselect: function(item) { 
                  console.log(item);
                  return item;
             }
    });
}  
$(".typeahead").each(typeahead_fn);
4

0 回答 0