我正在使用多选下拉列表来选择多个选项。直到这个好。但是当我需要在视图页面中显示这些选定的选项时,我陷入困境。
我试过了。
<?
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);?>
任何帮助/提示都会很明显。
答案 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
。但是,它是自动转换的。而且,它就像一个魅力。