2012-07-02 41 views
8

我有multiple select-list-boxStaffCreate-Service-Form,用于在创建新服务时选择多个员工。为此,我可以在一项服务中分配多个员工。如何在yii的更新视图中的多选列表框中加载选定的列表项目?


我保存staff_id字段为:
$model->staff_id = serialize($model->staff_id);


这里多选择列表框的更新视图代码:

<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> 

问题是,当我加载形式用于更新服务。我如何选择那些以前保存在数据库中的员工?

我试过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> 

玩得开心!

+0

Thatz完美anwser,谢谢你队友... – Frank

+0

任何简单的方法来做它与数据库中的值。大多是主细节。 – Vijay

+0

它不工作...没有预先选定的值... –

相关问题