jQuery自动完成中的JSON解码

时间:2012-04-23 06:25:55

标签: jquery cakephp-2.0

我需要在jQuery自动完成功能中解析JSON。我使用了以下代码。

jQuery("#name").autocomplete( '<?php echo HTTP_PATH.'/songs/sss'; ?>', {
multiple: true,
mustMatch: true,
matchContains: true,
autoFill: false,
dataType: "json",
});

关于那个我的蛋糕控制器

public function sss(){
$condition = array('Poet.status'=>'3');
$poet_name = $this->Poet->find('list', array('conditions' => $condition));
//pr($poet_name); exit;
echo json_encode($poet_name);
$this->autoRender = false;
}

我收到的数据是简单数组。装置

Array(
[1]=>Abc,
[15]=>Xyz
[56]=>MNK
[77]=>skl
[85]=>qw5s
)

如何使用jquery解析返回数组后的读取和格式化。

1 个答案:

答案 0 :(得分:0)

JQuery Autocomplete需要标签和/或值,其中显示标签。除非需要在客户端解析json,否则我会在服务器端执行此操作(对我来说更简单)。

因为你可以插入以下内容:

$json_output = array();

foreach ($poet_name as $name) {
     $json_output[]['label'] = $name;
}

echo json_encode($json_output);

通过在服务器端格式化,json已预先格式化为json自动完成功能,使标记更小,从而更快地上传页面,减少混乱。