【问题标题】:How to load selected list items in multiple-select-listbox in update view in yii?如何在 yii 的更新视图中加载多选列表框中的选定列表项?
【发布时间】:2012-07-02 21:15:57
【问题描述】:

我在Create-Service-Form 中有一个Staffmultiple select-list-box,用于在创建新服务时选择多个员工。为此,我可以在一项服务中分配多名员工。


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


这里是多选列表框的update-view代码:

<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,但它不起作用。
$选择 |字符串 |选择的值

如果有人有解决方案,那么建议我。谢谢各位大侠...

【问题讨论】:

    标签: yii multiple-select multi-select yii-inheritance


    【解决方案1】:

    这是我为您编写的快速代码,它是一个示例,可帮助您了解其工作原理。

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

    玩得开心啊!!!

    【讨论】:

    • 使用数据库中的值执行此操作的任何简单方法。主要是主细节。
    • 谁有 Yii2.x 的语法来做这个方便?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多