我想为远程数据源进行自动更新,我从数据库获取所有数据并将其作为jSon返回,使用控制台我看到所有数据都已返回,但自动完成功能不起作用,我的代码中的警报也是如此不起作用,这是我的代码
$("#cellPhoneNo").autocomplete({
source: function(request, response) {
var param = {
"action": "getCellPhoneNos"
};
$.getJSON("controllers/Customer.controller.php", param, function(result) {
alert('here'); //doesn't alert
// cellPhoneSource=result;
});
},
select: function(event, ui) {
alert('response');
}
});
修改
我尝试使用GET获取源代码,我这样做
source:function(request,response){
var param= {"action":"getCellPhoneNos"};
$.ajax({
type: "GET",
url: "controllers/Customer.controller.php",
data: param,
success: function(result){
alert('success');
}
});
},
它提醒,但自动完成功能不起作用,我尝试将值放在文本文件中并将文件放在网址中,自动完成功能正常工作!!
任何解释?!
答案 0 :(得分:1)
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/
这是一个使用自动完成插件的教程。回调中的response
变量是一个函数,您可以调用该函数将一组项添加到自动完成列表中。解析result
并将每个项目推送到数组,然后调用response(array);
如果结果已经是数组,则可以调用response(result);
答案 1 :(得分:0)
我注意到在成功函数中你没有从ajax查询返回结果,这可能是个问题吗?
source : function(request,response) {
var param= {"action":"getCellPhoneNos"};
var source = 'nothing came back from the server';
$.ajax({
type: "GET",
url: "controllers/Customer.controller.php",
data: param,
datatype: 'json'
success: function(result) {
if(result !== undefined) {
source = result;
}
alert(source);
return source;
}
});
},