因此,我正在使用jquery ui自動完成,其中顯示的列表通過WebSockets獲取。在輸入字段(.keyup())上的每個按鍵上都會調用獲取列表的函數。問題在於,一旦我輸入一個字符並獲取並顯示相應的列表,下一次擊鍵將在前一列表中的輸入字段中搜索搜索參數,而不是搜索到的新字符。要獲得新選項,我需要按退格鍵。例如,如果我在輸入中輸入「S」,則取出並顯示與「S」對應的結果。如果我進一步輸入「h」,使搜索詞「sh」,那麼與「sh」對應的列表被提取,但自動完成搜索在先前列表內搜索「sh」。簡單地說,列表不會立即刷新。我怎樣才能讓列表立即刷新?預先感謝您的幫助。Jquery UI自動完成列表不刷新
UPDATE:所以這裏有一個位代碼: 這是檢測擊鍵和搜索發起
$('#pick_up_location').keyup(function(e) {
var param = $("#pick_up_location").val();
var userType = "1";
search(param, userType,"CBPickSearchAction", "", 0);
這是部分地方將顯示在自動完成收到了效果:
function onMessage(data) {
try
{
var obj = $.parseJSON(data);
$("#pick_up_location").autocomplete({
source: obj,
minLength: 0,
delay: 0,
autoFocus: true,
search : function() {
},
//open : function(){$(this).removeClass('working'); $(".ui-autocomplete").width($(this).width());},
focus: function(event, ui) {
event.preventDefault();
return false;
},
open : function(event, ui){
$('#pick_up_location').autocomplete("widget").width();
.data("ui-autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
$("#pick_up_location").autocomplete('enable');
$("#pick_up_location").keydown();
} catch(err)
{
//console.log(err.message);
}
我認爲這會有幫助,如果你包括你的代碼。 – flitig
我更新了我的帖子,代碼爲 – user1869109
當代碼不完整時(有幾個缺失大括號和括號)並且沒有正確縮進,很難看到任何潛在的問題。你能修復你的代碼示例嗎?或者也許創建一個[jsfiddle](http://jsfiddle.net/)? – flitig