Зависимые списки yii2
Инструкция по созданию зависмых списков в фреймворке Yii2 на примере регионов и городов. При выборе региона, будет происходить подгрузка городов связанных по полю region_id.
1) Для Client в create.php и update.php добавим:
'arr'=>$arr,
2) в _form.php: (тут меняется контроллер и id поля select которому нужно отдать список)
<?= $form->field($model, 'region_id')->dropDownList(yii\helpers\ArrayHelper::map(common\models\Region::find()->all(),'id','name'), [ 'prompt'=>'Выбрать', 'onchange'=>' $.post("/admin/client/lists?id='.'"+$(this).val(), function(data){ $("select#client-city_id").html(data); });', ]) ?> <?= $form->field($model, 'city_id')->dropDownList($arr, [ 'prompt'=>'Выбрать...', ]) ?>
3) В actionCreate:
'arr'=>[],
4) В actionUpdate:
'arr'=> yii\helpers\ArrayHelper::map(\common\models\City::find()->where(['region_id'=>$model->region_id])->all(),'id','name'),
5) В actionLists:
public function actionLists($id){ $data = '<option>Выбрать...</option>'; if($items = City::find()->where(['region_id'=>$id])->all()){ foreach($items as $item){ $data .= "<option value='".$item->id."'>".$item->name."</option>"; } } return $data; }
Оформление доступа | |
---|---|
Электронный учебник за 1 день (Видеокурс) + ключ доступа к видеороликам в разделе TurboSite |
990 руб. |
СНЯТО С ПРОДАЖИ
Видеокурс будет отправлен на {{ email }}. Нажмите "Перевести"
*Оформляя заказ я даю согласие на обработку персональных данных
- Внимание!
- Если в процессе оплаты, указали неверный email-адрес или письмо с доступами к курсу не пришло, обязательно напишите нам в техподдержку (внизу экрана). Поможем!
Порядок оплаты и получения видеокурса |
---|
1) Заполните имя и email-адрес |
2) Нажмите кнопку "Перейти к оплате" |
3) Нажмите кнопку "Перевести" и пройдите процесс оплаты |
4) После оплаты на указанный email-адрес будет отправлен видеокурс |
5) Если возникнут трудности, а также за другими способами оплаты обращайтесь в техподдержку (справа-внизу экрана) или пишите мне на почту support@artursharipov.ru |