我需要使用組合框執行以下操作。如何使用帶有AJAX JSON數據的jQuery自動完成組合框?
Select box
有一個用戶可以從中搜索的默認城市列表。- 如果用戶在
input
框中鍵入文本,我需要進行ajax調用以獲取數據並向用戶顯示選項。 - 如果數據是獲取用戶的要求,這些城市應該被追加到
Select box
使用jQuery autocomplete我能夠在用戶輸入字符串和顯示結果獲取JSON數據的選項。但是,我對如何使用組合框來集成這個問題還不甚瞭解。
Combobox使用靜態數據數組進行搜索,如果我正確理解這一點,則使用正則表達式來匹配值。但是,如何中斷它並使用ajax調用從服務器獲取數據並更新結果?
的自動完成輸入文本框:
$("#searchDestination").autocomplete({
delay: 500,
source: function(request, response) {
$.ajax({
url: "/wah/destinationsJson.action",
dataType: "json",
data: {
term: request.term
},
type: "POST",
success: function(data){
if(data.cities.length == 0)
return response(["No matching cities found for " + request.term]);
response($.map(data.cities, function(item){
return{
label: item.name,
value: item.name
};
})
);
}
});
},
minLength: 2
});
});
你的自動完成源數據是什麼樣的? –
@ltiong_sh簡單輸入文本框的我的自動完成功能可以很好地使用JSON。 (雖然更新我的答案) – brainydexter
當你說取回列表應該被追加到默認列表,這是否意味着默認項目將永遠visibile,或將他們過濾以及..基於用戶輸入? –