Изменить данные Select2 с помощью jQuery - PullRequest
0 голосов
/ 07 апреля 2020

Я создаю форму, используя Yii2, но у меня возникла небольшая проблема. Это мой код

public function actionForm()
{
    $model = new Model1();
    if (Yii::$app->request->isPost) {
    // Do something when form has been submitted
    }
    return $this->render('form', ['model'=>$model]);
}

public function actionLoadData()
{
    if(Yii::$app->request->isAjax) {
        $data = Yii::$app->request->post();
        \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
        $return = [];
        if($data['field1']==1) {
            $return = Model1->getData();
        }elseif($data['field1']==2) {
            $return = Model2->getData();
        }elseif($data['field1']==n) {
            $return = Modeln->getData();
        }else {
            ...
        }
        return $return;
    }
}

И представление здесь

<?php ActiveForm::begin(); ?>
    <?= $form->field($model, 'field1')->dropDownList([
         1 => 'Options 1',
         2 => 'Options 2',
         ...,
    ]) ?>
    <?= $form->field($model, 'field2')->widget(Select2::classname(), [
         'data' => $data,
    ]) ?>
<?php ActiveForm::end() ?>

И я хочу, когда я выбираю опцию field1, $ data of field2 будет меняться с аналогичным значением (actionLoadData в контроллере ). Как я могу это сделать? Большое спасибо.

...