Yii
0
Вклад в тег
<?php echo $form->field($model, 'user_id')->widget(Select2::classname(), [
'data' => ArrayHelper::map(User::find()->all(), 'id', 'username'),
'language' => 'ru',
'options' => ['placeholder' => 'Выберите пользователя ...', 'id' => 'useridfield', 'value' => Yii::$app->user->identity->getId(),],
'pluginOptions' => [
'allowClear' => true
],
])->label('Автор заявки'); ?>
<div id="newtry">
<?= $this->render('/user/_userdataview', [
'model' => Yii::$app->user->identity,
]); ?>
</div>
<?php
$script = <<< JS
$('#useridfield').change(function(){
$.ajax({
type: "GET",
url: "/basic_yii/web/user/showuserdata?user_id="+$(this).val(),
success: function(data) {
$("#newtry").html(data)
}
})
});
JS;
$this->registerJs($script);
?>
$('#useridfield')
- это id поля формы с выпадающим списком (указано в массиве options), $("#newtry")
- это id специально отгороженного тегами div поля, которое полностью обновляется при клике на выпадающий список, а по адресу /basic_yii/web/user/showuserdata?user_id=
лежит экшен контроллера:public function actionShowuserdata($user_id)
{
$model = \app\models\User::findIdentity($user_id);
return $this->renderPartial('_userdataview', [
'model' => $model,
]);
}