littus
Новичок
Нужна помощь.
Подскажите, плиз.
Есть вью `music-track/index` и Контроллер,который на нее рендерит изначальный контент, - это выпадающий список который у меня завернут в Pjax::begin(....) а внутри него находится
форма $form = ActiveForm::begin(...) с submitButton(...)
Суть в том, чтобы когда выбирают что-то из этого выпад списка <select> внутри формы, - это значение летело в Контроллер и там подставлялась бы в запрос (что в в принципе уже работает), но затем мне нужно результат этого запроса, присвоенный переменной, рендерить снова в эту же вью или как-то по другому через javascript, не уверен, что так должно работать, но суть, нужно,чтобы новые данные AJAX`oм появились на странице в нужном DOM`e.
______________________view(music-track/index):
___________Controller:
Подскажите, плиз.
Есть вью `music-track/index` и Контроллер,который на нее рендерит изначальный контент, - это выпадающий список который у меня завернут в Pjax::begin(....) а внутри него находится
форма $form = ActiveForm::begin(...) с submitButton(...)
Суть в том, чтобы когда выбирают что-то из этого выпад списка <select> внутри формы, - это значение летело в Контроллер и там подставлялась бы в запрос (что в в принципе уже работает), но затем мне нужно результат этого запроса, присвоенный переменной, рендерить снова в эту же вью или как-то по другому через javascript, не уверен, что так должно работать, но суть, нужно,чтобы новые данные AJAX`oм появились на странице в нужном DOM`e.
______________________view(music-track/index):
PHP:
<?php Pjax::begin(['id'=>'my-pjax', 'enablePushState'=>false, 'linkSelector'=>'.comments']); ?>
<?php $form = ActiveForm::begin([
'id' => 'form-post',
'action' =>['/music-track/index'],
'options'=>['class'=>'form-inline', 'data-pjax'=>true],
'fieldConfig'=>[
'template' => "{label}\n<div class=\"col-lg-12 col_custom_left\">{input}</div>",
'labelOptions' => ['class' => ''],
],
//'enableAjaxValidation' => false,
//'enableClientValidation' => false,
]); /*or $form = ActiveForm::begin();*/ ?>
<?php
isset($all_music_cat_for_dropdown) ? $all_music_cat_for_dropdown : $all_music_cat_for_dropdown = '';
$params = [
'prompt'=>'Change Music Group:'
]; ?>
<?= $form->field($model, 'id_cat')->dropDownList($all_music_cat_for_dropdown, $params)->label(false); ?>
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('Load Music', ['name'=>'btn_cat_name', 'class'=>'btn btn-success center-block']) ?>
</div>
</div>
<?php ActiveForm::end(); ?>
<?php Pjax::end(); ?>
PHP:
public function actionIndex() {
$model = new MusicTrack();
if( $model->load(Yii::$app->request->post() ) ) { //var_dump(Yii::$app->request->post());die;
if (Yii::$app->request->isPjax) { //если отработал именно Pjax-запрос(AJAX)
$music_albums = $model->getMusicAlbum( Yii::$app->request->post('MusicTrack')['id_cat'] );
//var_dump($music_albums);die; - ПРИ ЭТОМ ТУТ ПОЛУЧАЮ, ЧТО НУЖНО. Теперь бы AJAX`ом передать это в эту же вьюху index``
}
}
return $this->render('index', [
'model'=>$model,
'my_arr'=>$my_arr,
]);
}