Я создаю форму, используя 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 в контроллере ). Как я могу это сделать? Большое спасибо.