我试图在某些国家/地区使用ajax调用从db获取jquery ui自动完成功能
我正在努力将如何将我的值表传递给自动完成
$( document ).ready(function() {
$.ajax({
url:Routing.generate('e_veilleur_user_register_countries_autocomplete'),
type:"get",
dataType: 'json',
data: 'test=cool',
async: true,
cache: true,
success: function(data){
var availableTags = data;
}
});
$( "#fos_user_registration_form_pays" ).autocomplete({
source: availableTags
});
});
我的ajax调用的结果是
[{"countryName":"United States"},
{"countryName":"Canada"},
{"countryName":"Afghanistan"},
{"countryName":"Albania"},
{"countryName":"Algeria"}
错误:availableTags is not defined
答案 0 :(得分:3)
您可以使用源代码的自定义函数,而不是使用AJAX。因此,您不必与范围之外的AJAX调用同步。
$( "#fos_user_registration_form_pays" ).autocomplete({
source: function(request, response) {
$.ajax({
url:Routing.generate('e_veilleur_user_register_countries_autocomplete'),
type:"get",
dataType: 'json',
data: 'test=cool',
async: true,
cache: true,
success: function(data){
response(data);
}
});
}
});
修改强>
直到现在,我才看到评论。回答该特定评论,您可以从AJAX中调用自动完成。$.ajax({
url:Routing.generate('e_veilleur_user_register_countries_autocomplete'),
type:"get",
dataType: 'json',
data: 'test=cool',
async: true,
cache: true,
success: function(data){
$( "#fos_user_registration_form_pays" ).autocomplete({
source: data
});
}
});