JQuery UI автозаполнения в виде Zend - PullRequest
1 голос
/ 17 ноября 2011

В контроллере действий возвращены данные JSON:

$results = $repo->getMatchingCityName($searchTerm);

Ответ, который я получаю:

[{"CityName":"Montreal"},{"CityName":"New york"}]........

Но автозаполнение jquery ui ничего не показывает

пробовал

$this->_helper->json(array_values($results));

и

Zend_Json::encode($results);

Но бесполезно.Как мне конвертировать в

[{"value":"Montreal","label":"Montreal"},{"value":"New york","label":"New york"}]

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

Я получил это работает, как это

$temp = array();
foreach($results as $row)
{
    $value = $row["CityName"];
    array_push($temp, array(
        "label" => $value,
        "value" => $value
    ));
}

$data = $this->_helper->json($temp);
$this->_helper->autoComplete($data);

Добавлен помощник вида в начальной загрузке

Zend_Controller_Action_HelperBroker::addHelper(
    new ZendX_JQuery_Controller_Action_Helper_AutoComplete()
);
0 голосов
/ 18 ноября 2011

Попробуйте этот код

$results = $repo->getMatchingCityName($searchTerm); // [{"CityName":"Montreal"},{"CityName":"New york"}]........


$data = Zend_Json::decode($results);

$new = array();

foreach ($data as $row) {
   $temp['value'] = $row['CityName'];
   $temp['label'] = $row['CityName'];
   array_push($new, $temp);
}

$newEncode = Zend_Json::decode($new); //[{"value":"Montreal","label":"Montreal"},{"value":"New york","label":"New york"}]
...