当用户键入abc时,typeahead会发送a的ajax请求,然后是ab,然后是abc。 如果在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);