yii2 Multi select 下拉菜单记住 selected

yii2 Multi select dropdown remember selected

我有一个多 select 下拉菜单,当我创建 "project" 时它工作得很好。

  1. 如果我想编辑创建的 "project",它不记得我在创建 "project" 时在下拉菜单中 select 编辑的内容。

  2. 它保存到数据库中,显示没问题,但如果你想编辑你需要再次select它们。

有没有办法根据数据库自动 select 自动 select 发送它们? (我仍然希望能够对其进行编辑,但我希望它们默认为 selected)。

echo $form->field($model, 'company_id')->dropDownList($items_company, ['prompt' => 'Select Company','style' => 'width:400px;','onchange'=>'
            $.post("index.php?r=project/lists&id='.'"+$(this).val(), function( data ) {
            $( "select#client" ).html( data );
            });
        ']);

if($model->client){
    echo $form->field($model, 'client')
        ->dropDownList(
            $items_client,
            ['id'=>'client','multiple' => true,'style' => 'width:400px;']
        );

}

最简单的解决方法是在文档就绪时触发 company_id select 框的 change() 事件。假设您的第一个 select 的 ID 是 client,代码如下:

$this->registerJs('$("select#client").trigger("change");', View::POS_READY);

但是,我认为您应该尝试一些处理相关下拉菜单的小部件,例如 this one