2012-04-23 4 views
1

Мне нужно разобрать JSON в функции автозаполнения jQuery. Я использовал следующий код.JSON Декодирование в jQuery автозаполнения

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.

ответ

0

JQuery Autocomplete требует метки и/или значения, где отображается метка. Если нет необходимости разбирать json на стороне клиента, я бы сделал это на стороне сервера (проще для меня).

Будучи, что вы можете вставить следующее:

$json_output = array(); 

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

echo json_encode($json_output); 

После форматирования на стороне сервера, то JSON преформатированный для JSon автозаполнения делает разметку на меньше в результате более быстрой загрузки страницы и меньше беспорядка.

Смежные вопросы