当用户键入 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);