@BATPYIIIKOB
PHP, JS

Как отобразить GridView::widget без перегрузки страницы в зависимости от выбранных в поле ActiveForm?

Добрый день.
Столкнулся со следующей проблемой:
5b220e2bf3ef5036442479.jpeg
Имеется форма создания партии продукции ActiveForm. При выборе марки продукта через AJAX формирую номер партии:

код view
<?= $form->field($model, 'id_marka')
                            ->dropDownList(\app\models\Marka::find()
                                ->select(['title','id'])
                                ->indexBy('id')
                                ->column(),
                                [
                                    'prompt' => '',
                                    'onchange' => '$.post(
                                                  "'.Url::toRoute('part/num-part').'",
                                                  {id : $(this).val()},
                                                  function(data){
                                                      $(".part-number").val(data)
                                                  }
                                    )'
                                ]
                            )
                ?>


код функции контроллера
public function actionNumPart()
    {
        if(Yii::$app->request->isAjax)
        {
            $id = (int)Yii::$app->request->post('id');
            $result = Part::getNumber($id);
        }
        return $result;
    }


С этим проблем нет.

Столкнулся со следующим: в зависимости от выбранной марки мне необходимо отобразить подготовленные данные в GridView::widget без перегрузки страницы, то есть подготовить $dataProvider обновить данные в GridView.
Подскажите, как правильно можно реализовать задачу?
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
используйте Pjax
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы