サーバー側から提案を取得するために Ajax を使用するアプリケーションの Bootstrap で typeahead を使用しています。
以下を除いてすべて問題ありません: 正しい入力を書いているのに、'The Walking Dead' のような提案が表示されます.walkkkk のように間違った入力を入力し始めると、ESC キーを押さない限り提案が表示されたままになります. .
サーバー側を確認しましたが、間違った入力を入力し始めると、サーバーは何も返しません。
提案を自動的に非表示にするにはどうすればよいですか?
相対jsコードは次のとおりです。
$('#query').typeahead({
source: function(query, process){
suggestions = {};
labels = [];
$.post('suggest.do', {query: query, limit: '10'}, function(data){
var sugg = jQuery.parseJSON(data).data;
if(sugg == 'NOTHING' || sugg == 'ERROR'){
return;
}
$.each(sugg, function(index, item){
suggestions[item.name] = item;
labels.push(item.name);
});
return process(labels);
});
},
items: 10,
minLength: 1,
updater: function(item){
//irrelative code
},
matcher: function(item){
return true;
},
highlighter: function(item){
var ent = suggestions[item];
var html = '' +
'<div class="entity-block">' +
'<span class="label label-important">' + ent.type + '</span> ' +
'<span class="sugg-name">' + ent.name + '</span>' +
'</div>';
return html;
}
});