2012-07-02 20 views
8

私は、Staffmultiple select-list-boxCreate-Service-Formに指定しました。これは、新しいサービスを作成するときに複数のスタッフを選択するために使用されます。私は単一のサービスに複数のスタッフを割り当てることができます。ここで
$model->staff_id = serialize($model->staff_id);yiiの更新ビューで複数の選択リストボックスで選択したリスト項目を読み込む方法は?


複数選択リストボックスで使用する更新ビューコード::私は、フォームのロード時

<div class="row"> 
    <?php echo $form->labelEx($model,'staff_id'); ?> 
    <?php 
      $data = array('1' => 'Sam', '2' => 'john', '3' => 'addy'); 
      $htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'multiple'); 
      echo $form->ListBox($model,'staff_id', $data, $htmlOptions); 
    ?> 
    <?php echo $form->error($model,'staff_id'); ?> 
</div> 

問題は、ある


は私がようstaff_idフィールドを保存しましたサービスを更新する。以前にデータベースに保存されているスタッフを選択するにはどうすればよいですか?

私はthis dropDownList-attributesを試しましたが、機能しません。
$ select |文字列|選択した値

誰かが解決策を持っている場合は、私にお勧めします。すべての仲間に感謝します...

答えて

12

ここでは、私があなたのために書いたクイックコードがあります。

<div class="row"> 
    <?php echo $form->labelEx($model,'staff_id'); ?> 
    <?php 
    $data = array('101' => 'Faraz Khan', '102' => 'Depesh Saini', '103' => 'Nalin Gehlot', '104' => 'Hari Maliya'); 
    $selected = array(
     '102' => array('selected' => 'selected'), 
     '103' => array('selected' => 'selected'), 
    ); 
    $htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'true', 'options' => $selected); 
    echo $form->listBox($model,'staff_id', $data, $htmlOptions); 
    ?> 
    <?php echo $form->error($model,'staff_id'); ?> 
</div> 

Have Fun Ya !!!

+0

Thatzは、あなたのおかげで、完璧なanwser ... – Frank

+0

データベースからの値でそれを行うための簡単な方法。主にマスターディテール。 – Vijay

+0

これは機能していません...値はあらかじめ選択されていません... –