我有一个输入字段,我正在变成一个 jqueryUI 自动完成:
$( "#autocomplete" ).autocomplete({
autoFocus: true,
source: mylist
});
mylist 变量只是一个数组格式的字符串['Value1','Value2,'Blah']
,我最初只是硬编码到脚本中。
现在我希望 mylist 变量成为我的 cakephp 应用程序中对函数的 ajax 调用的结果。函数基本如下,就是把所有的数据抓取成一个list,json编码。
public function source() {
$this->layout = 'ajax';
$countries=$this->Country->find('list',array('fields'=>'Country.country'));
ChromePhp::log($countries);
echo json_encode($countries);
}
这输出:
{"1":"Afghanistan","2":"Albania ","3":"Algeria ","5..
我的问题是将这个函数的输出(最终在 ajax 成功回调中作为“数据”)转换为正确的格式,以放入自动完成的选项数组中。
我可以在控制台记录每个值,但我很难过。基本上以正确的语法抓住稻草。
$.ajax({
type: "GET",
dataType: "json",
url: "/source/",
success: function(data){
/*
magic array string creation code would go here instead of my code below...
*/
$.each(data, function(i, item) {
console.log(item);
});
console.log('data',data);
}
})