在 yii2 中如何根据角色更改 Dropdown 数据?

In yii2 how to change Dropdown data as per role from?

我在下拉列表中有每个角色的数据(每个角色 table 都不同)。 我不知道该怎么做,因为我不熟悉 yii2 首先 select 一个角色,然后 selecting 角色我想要来自不同 table 每个角色的数据

<?= $form->field($model, 'role')->dropDownList( [ 'A' => 'Admin', 'M' => 'Member', 'P' => 'Practice', ],['prompt'=>'--Select a Role--',]);?>
<?= $form->field($model, 'code')->dropDownList(
                    ArrayHelper::map(Member::find()->all(), 'id', 'memberCode'),           
                            ['id'=>'memberCode']
                        );
                    ?>

请参考Kartik Dependent Drop Down in Yii2 ..这一定会有帮助

当您 select 第一个下拉列表中的任何值时,您需要更新第二个下拉列表。假设第二个下拉菜单有 id #dropdown2 所以,我在 yii 中添加了你可以根据 yii2 更改它。

 echo $form->dropDownListGroup(
                    $model, 'id', array(
                'wrapperHtmlOptions' => array(),
                'widgetOptions' => array(
                    'data' => CSystemGenerated::getProjectName($model->c_id),
                    'htmlOptions' => array(
                        'prompt' => 'Select Project',
                        'ajax' => array(
                                'type' => 'POST',
                                'url' =>  your url,
                                'update' => '#dropdown2',
                                //'dataType' => 'json',
                                'data'=>array('id'=>'js:this.value'),

                              )
                            ),
                        ),
              )
            );   

 <?php
            echo $form->dropDownListGroup(
                    $model, 'tag', array(
                'wrapperHtmlOptions' => array(),
                'widgetOptions' => array(
                    'data' =>$this->getTags(),
                    'htmlOptions' => array(
                        'prompt' => 'Select Tags',
                    ),
                )
                    )
            );
        ?> 

检查这个 link 它会帮助你更多。

Link1

link2