1

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で返された配列に続く読み取りとフォーマットを解析するにはどうすればよいですか?

4

1 に答える 1

0

JQueryオートコンプリートには、ラベルが表示される場所にラベルや値が必要です。クライアント側でjsonを解析する必要がない限り、サーバー側で解析します(私にとっては簡単です)。

次のように挿入できます。

$json_output = array();

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

echo json_encode($json_output);

サーバー側でフォーマットすることにより、jsonはjsonオートコンプリート用に事前フォーマットされ、マークアップが小さくなり、ページのアップロードが速くなり、混乱が少なくなります。

于 2012-04-23T09:29:32.707 に答える