2014-04-08 3 views
0

여러 개의 쉼표로 구분 된 값을 선택하려면 CAutoComplete를 사용하고 있습니다. 이제 선택한 값만 전달할 수 있으며 폼을 제출할 때도 선택한 값의 ID를 전달해야합니다. ID 또는 배열을 쉼표로 구분하여 보내 주시면 도와 드리겠습니다. 내 양식에Yut의 CAutoComplete에서 선택된 값의 ID를 얻으십시오.

내가 사용하고 있습니다 :

<?php 
     $this->widget('CAutoComplete', array(
         'model' => $model, 
         'attribute' => 'skills', 
         'url' => array('serviceRequest/Suggest'), 
         'multiple' => true, 
         'htmlOptions' => array('size' => 34), 
        )); 
    ?> 

컨트롤러 :

public function actionSuggest() 
    { 
     if (isset($_GET['q']) && ($keyword = trim($_GET['q'])) !== '') 
     { 
      $tags = Skills::model()->suggest($keyword); 
      if ($tags !== array()) 
       echo implode("\n", $tags); 
     } 
    } 

모델 : 당신이 JUI 자동 완성 위젯은을 포함하여 지원하는 모든 옵션을 전달할 수

public function suggest($keyword,$limit=20) 
    { 
     $tags=$this->findAll(array(
      'condition'=>'skills LIKE :keyword', 
     // 'order'=>'Name', 
      'limit'=>$limit, 
      'params'=>array(
       ':keyword'=>'%'.strtr($keyword,array('%'=>'\%', '_'=>'\_', '\\'=>'\\\\')).'%', 
      ), 
     )); 
     $names=array(); 
     foreach($tags as $tag) 
      $names[]=$tag->skills; 
     return $names; 
    } 

답변

관련 문제