如果使用Select2 YII2

时间:2016-08-03 07:07:40

标签: javascript php mysql json yii2

我在Yii2上开发人力资源管理系统 我有这个置换员工表,3个字段使用3个表,这是 取代,员工和部门 我在Employee字段上使用Kartik / Select2小部件, 我开发的数据库更像是这样的 Database

如果我想做这样的输出
Output

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

<?= $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字段没有生成

1 个答案:

答案 0 :(得分:0)

请检查此链接: http://demos.krajee.com/widget-details/select2。 你可以使用&#34; pluginEvents&#34;同样的。

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事件并使用回调函数填充其他字段。 如果您需要进一步的帮助,请与我们联系。