2013-07-31 1 views
0

나는 select2Row를 영원히 작동하도록 노력해 왔으며 그걸 막을 수없는 것 같습니다. 내가하고 싶은 것은 학교/대학 이름을 나열하는 태그를 사용자에게 제공하는 동시에 폼을 저장할 때 태그의 값을 저장하는 것입니다. 나는 데이터와 태그를 모두 사용할 수 없다는 것을 알아 냈다. 그렇지 않으면 내 드롭 다운이 채워지지 않아 옵션이 아니었다. 태그는 텍스트와 일치하는 값보다는 텍스트를 원하는 것처럼 보입니다. 어떤 아이디어? 내가 대신 사용하여 시도했지만 태그가 순간에 따라서YiiBooster Select2Row 데이터/태그 문제

public function getSchools() 
{ 
    $query = "SELECT id,name FROM School"; 
    $results = $this->findAllBySQL($query); 

    return CHtml::listData($results, 'id', 'name'); 
} 

를 채울 수 없습니다

public function getSchoolNames() 
{ 
    $schools = array(); 
    $result = $this->findAllBySQL("SELECT DISTINCT name FROM School"); 

    foreach($result as $school){ 
     $schools[] = $school->name; 
    } 
    return $schools; 
} 

<div class="row"> 
    <?php 
     echo $form->select2Row($model, 'school_id', array(
      'asDropDownList'=>false, 
      'options'=>array(
       'tags'=>School::model()->schoolNames, 
       //'maximumSelectionSize'=>1, 
       'width'=>'297px', 
       'tokenSeparators'=>array(','), 
      ), 
     )); 
    ?> 
    <?php echo $form->error($model,'school_id'); ?> 
</div> 

그리고 여기가 schoolNames의 함수이다 select2Row이다 getSchoolNames()를 사용하여 태그 목록을 생성하고 모든 태그가 올바르게 작동한다는 것을 제외하고는이 태그를 사용하여 양식을 제출하면 제외하고
Please fix the following input errors: School must be an integer.

모든 문제를 일으켜서 미안하지만, 아직 조금 익숙하지 않습니다. 나는 아마도 그 대답이 아마 내 앞에있을 것이라고 확신한다. 덕분에 어느 쪽이든 =)

답변

0

이 시도 :

echo $form1->select2Row($model, 'school_id', array(
    'data' => School::model()->schoolNames, 
    'multiple' => 'multiple', 
    'options' => array(
     "width" => '70%', 
    ), 
));