@Orbite

Как сделать связанные списки yii2?

Знающие люди подскажите, что я делаю не так? Только начал изучать yii2, понадобилось сделать связанные списки - выбор региона и городов, делаю так (пример кода ниже), при выборе региона поле городов не заполняется, оно просто становится пустым.
Вьюха:
<? $form = ActiveForm::begin(); ?>


	<?php
		
		echo $form->field($form_model, 'reg')->dropDownList(
			ArrayHelper::map(Region::find()->all(), 'reg_id', 'reg_name'),
			[
				'onchange' => '
					$.post(
						"' . Url::toRoute('chusovoi') . '", 
						{id: $(this).val()}, 
						function(data){
							$("#SelectCit").html(data); 
						}
					);
				',
		 
			]
		);
		
		echo $form->field($form_model, 'cit')->dropDownList(ArrayHelper::map(City::find()->where(['cit_reg_id' => $id])->asArray()->all(), 'cit_id', 'cit_name'),
			[
				'prompt' => 'Выберите город',
				'id' => 'SelectCit'
			]
		);
	
	?>	
			
 	<?php ActiveForm::end(); ?>


Контроллер:
if ($id = Yii::$app->request->post('id')) {
				$operationPosts = City::find()
					->where(['cit_reg_id' => $id])
					->count();
				if ($operationPosts > 0) {
					$operations = City::find()
						->where(['cit_reg_id' => $id])
						->all();
					foreach ($operations as $operation){
						echo "<option value='" . $operation->cit_id . "'>" . $operation->cit_name . "</option>";
					}
					
				} else
					echo "<option>-</option>";
  • Вопрос задан
  • 1803 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Quieteroks
php программист
Вместо:
$("#SelectCit").html(data);
Лучше бы Вы подгружали список в JSON и используя API какого нибудь Select2 создавали необходимый список.
Ответ написан
Комментировать
Yii2 зависимые select в чем ошибка?

Аналогичный вопрос вчера задавал, но сам уже был нашел ошибку, там все рабочее
Ответ написан
Комментировать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы