【发布时间】:2012-11-06 15:52:06
【问题描述】:
我有一个输入字段,我将其变成 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);
}
})
【问题讨论】:
标签: ajax jquery-ui autocomplete cakephp-2.1