2011-11-17 108 views
1

我在动作控制器返回的JSON数据:jQuery用户界面自动完成

$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"}] 

回答

0

我得到它的工作是这样

$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

试试这个代码

$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"}] 
相关问题