如何在yii的更新视图中的多选列表框中加载选定的列表项?

Fra*_*ank 8 multiple-select multi-select yii yii-inheritance

我有一个multiple select-list-boxStaffCreate-Service-Form,用于创建一个新的服务时,选择多个工作人员.为此,我可以为一项服务分配多名员工.


我把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>
Run Code Online (Sandbox Code Playgroud)

问题是,当我加载表单来更新服务时.如何选择以前保存在数据库中的员工?

我尝试了这个 dropDownList属性,但它无法正常工作.
$ 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>
Run Code Online (Sandbox Code Playgroud)

玩得开心!!!