Задать вопрос
sashavalutin
@sashavalutin
Начинающий php-программист

Как связать DropDownList?

Всем добрый день. Есть два DropDownList. Выбрать страну, выбрать город и id города
Нужно связать эти поля так, чтобы при выборе страны в первом DropDownList, во второй подгружались из базы города, которые относятся к выбранной стране, а затем в поле с id подгружался id города, выбранного во втором DropDownList

<?php 
$myCountry = Country::find()->select(['name_rus','code'])->indexBy('name_rus')->asArray()->all();
$cityName = ArrayHelper::map(City::find()->indexBy('id')->all(), 'id', 'name');
?>

<?php // Страна ?>
        <div class="col-sm-3">
            <?= $form->field($city, 'id')->dropDownList($myCountry,$paramsCountry); ?>
        </div>
        <?php // Название ?>
        <div class="col-sm-4">
            <?= $form->field($city, 'name')->dropDownList($cityName,$paramsCityName) ?>
        </div>
        <?php // ID ?>
        <div class="col-sm-2">
            <?= $form->field($city, 'id')->textInput() ?>
        </div>


Пока это выглядит так.
Как мне наладить эту связь?
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
Adamos
@Adamos
Выбрать из базы страны и список городов по ним, сохранить в JSON.
Отложить PHP и бекэнд, перейти к JS на фронте.
Подгружать этот JSON и скармливать его любому решению по запросу "chained select" (или, если настаиваете, "chained dropdowns"), которое вам больше понравится. На изменение второго повесить обработчик, заносящий его значение в input.
Ответ написан
Комментировать
php666
@php666
PHP-макака
при загрузке страницы получать только страны
при выборе страны аяксом подтягивать города
Ответ написан
Комментировать
kimono
@kimono
Web developer
Есть уже готовые решения на yii вроде этого: https://demos.krajee.com/widget-details/depdrop
Ответ написан
Комментировать
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
Для начала воспользуйтесь поиском по toster.ru.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽