如果使用Select2 YI2选择第一个字段,则自动填充下面的字段


Autofill field below if first field is selected using Select2 YII2

我正在Yii2上开发人力资源管理系统我有这个替换员工表单,3个字段使用3个表,它是调动、员工和部门我在Employee字段中使用Kartik/Select2小部件,我开发的数据库更像这样
数据库

如果我想做出这样的输出
输出

我该怎么办?我试过这样的代码

<?= $form->field($model, 'EmployeeId')->widget(Select2::classname(), 
[
'data'=>$listData,
'options' => ['id' => 'EmployeeId'],
'pluginOptions' => [
                    'placeholder' => 'Employee Name',
                    'changeOnReset'=>'$.post
                ("index.php?r=project/lists&id='.'"+$(this).val(),function(data) 
                    { $("select#currentDept").html(data);
                    }
                );'
                   ],
                   ])?>
<?= $form->field($model, 'currentDept')->dropDownList($dataList,['prompt'=>'Choose Department','readonly' => !$model->isNewRecord]) ?>
<?= $form->field($model, 'DeptID')->dropDownList($dataList,['prompt'=>'Choose Department']) ?>

它起作用了,但CurrentDept字段没有生成

请检查此链接:http://demos.krajee.com/widget-details/select2.您可以使用"pluginEvents"进行相同的操作。

pluginEvents = [
    "change" => "function() { log('change'); }",
    "select2:opening" => "function() { log('select2:opening'); }",
    "select2:open" => "function() { log('open'); }",
    "select2:closing" => "function() { log('close'); }",
    "select2:close" => "function() { log('close'); }",
    "select2:selecting" => "function() { log('selecting'); }",
    "select2:select" => "function() { log('select'); }",
    "select2:unselecting" => "function() { log('unselecting'); }",
    "select2:unselect" => "function() { log('unselect'); }"
];

您可以使用select事件,并使用回调函数填充其他字段。如果你需要进一步的帮助,请告诉我。