[英]jquery Autocomplete is not loading the results correctly and menu doesn't show unless I press down key
這就是我所擁有的:
searchTimeoutID;
InitQuickSearch = function() {
$( 'input#quick-search' ).autocomplete({
source: []
});
$('input#quick-search', document).on('keyup', function(e) {
switch(e.which) {
default: // live search
window.clearTimeout(searchTimeoutID); // remove timer
var str = $(this).val(); // search string
if (str !== '') { // do the search
searchTimeoutID = window.setTimeout(LiveSearch, 100);
}
break;
}
});
};
LiveSearch = function() {
var str = $('input#quick-search').val();
if(str !== '') {
$.ajax({
type: 'POST',
url: '/livesearch',
data: { query: str },
cache: false,
success: function(data){
var results = data.split(',');
alert(results); // displays correct results here
$( 'input#quick-search' ).autocomplete( 'option', { source: results });
},
error: function(response) {
printError(response);
}
});
}
return false;
};
當我使用alert(results)輸出result變量時,這些值看起來正確。
但是,當我嘗試更新自動完成中的值時,它不會顯示正確的值。 另外,我必須按下向下鍵才能顯示菜單。
$('input#quick-search').autocomplete('option',{來源:結果});
我究竟做錯了什么?
我只需要更改:
searchTimeoutID = window.setTimeout(LiveSearch, 100);
至:
LiveSearch();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.