2011-12-23 7 views
5

Próbuję użyć kompilacji autouzupełniania yii w widgecie. Mam zarządzać, aby pokazać wyniki z moim stole użytkowników intra wejściu złożony z następujących bloków kodu:Widżet autouzupełniania w yii

public function actionSearch() 
{ 
    $res =array(); 
if (isset($_GET['term'])) 
    {   
     $qtxt ="SELECT user FROM tbl_user WHERE user LIKE :user"; 
     $command =Yii::app()->db->createCommand($qtxt); 
     $command->bindValue(":user", '%'.$_GET['term'].'%', PDO::PARAM_STR); 
     $res =$command->queryColumn(); 
    } 
echo CJSON::encode($res);  
    Yii::app()->end(); 
} 

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'test1', 
'source'=>$this->createUrl('user/search'), 
// additional javascript options for the autocomplete plugin 
'options'=>array(
      'showAnim'=>'fold', 
      'select'=>'js:function(event, ui) { 
       // 
      }' 
), 
)); 

Gdy tylko użytkownik jest wybrany chcę przekierować do tej strony użytkownika. Muszę złapać nazwę użytkownika w zdarzeniu select. Alternatywnym sposobem jest złapanie zarówno nazwy użytkownika, jak i identyfikatora użytkownika, aby móc łatwo przekierować na ten identyfikator.

Odpowiedz

3

Mam nadzieję, że jest to rozwiązanie

'select' => 'js:function(event, ui){ 
    // ui.item.id 
    // ui.item.name 
    top.location = "/user/view/?id=" + ui.item.id; 
}'