我需要使用组合框执行以下操作。如何使用带有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,或将他们过滤以及..基于用户输入? –