在多选下拉列表中显示所选选项 - Yii2

时间:2016-06-21 13:16:58

标签: php yii2 yii2-basic-app

我正在使用多选下拉列表来选择多个选项。直到这个好。但是当我需要在视图页面中显示这些选定的选项时,我陷入困境。

我试过了。

<?
public function getSelectedTodosCaseId($todos_id) {
    $case_ids = Todos::find()->select(['case_id'])->where(['todos_id'=> $todos_id])->all();
    $selected = [];
    if($case_ids){
        foreach($case_ids as $case_id){
            $selected[] = $case_id->case_id ;
        }
    }
    return $selected;
}
?>

我在这里使用这个功能。

<?php

$selectedCase = $this->getSelectedTodosCaseId($id);

for($i = 0; $i < sizeof($selectedCase); $i++){
  $model->t_case_id = $selectedCase[$i];
}
?>

<?= $form->field($model, 't_case_id[]',
                          ['options' =>['class' => ''],'inputOptions'=>['multiple'=>'multiple','size'=>'4']])
                          ->dropDownList($current_user_cases);?>

任何帮助/提示都会很明显。

1 个答案:

答案 0 :(得分:0)

  

简而言之,只需从字段 t_case_id [] 中删除数组(方括号)即可。   只需提供 t_case_id ,不需要它会自动转换为   阵列。 〜 @KandarpPatel

$model->t_case_id = $selectedCase;
<?= $form->field($model, 't_case_id',
         ['options' =>['class' => ''],'inputOptions'=>['multiple'=>'multiple','size'=>'3']])
         ->dropDownList($current_user_cases)->label("Related to");?>

我没有提供下拉名称array type。但是,它是自动转换的。而且,它就像一个魅力。