@Oversec

Как из модального окна передать обратно в view id выбранного пользователя?

У меня появилась такая задача. В GridView где можно выбрать несколько заявок с помощью checkbox, надо сделать кнопку, при нажатии на которую будет открываться модальное окно и там будет список водителей в GridView, где будет кнопка "Выбрать". После выбора водителя надо передать его id обратно в изначальный view и присвоить его заявкам. Модальное окно со списком водителей я сделал, но не могу придумать как передать туда id выбранных записей.

Думал через ajax параметры передавать, но тогда не знаю как это реализовать в модальном окне.

Может кто сможет помочь?

<?php Modal::begin([
                    'header' => 'Установить водителя',
                    'size' => 'modal-lg',
                    'toggleButton' => [
                        'tag' => 'a',
                        'class' => 'btn btn-primary',
                        'label' => 'Установить водителя',
                    ]
                ]);

              echo $this->render('_setDriver');

                Modal::end(); ?>


_setDriver.php
<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            [
                'attribute' => 'id',
                'value' => function ($modal) {
                    return '#'. $modal->id;
                },
            ],
            'name',
            'car',
            'gov',
            'rights',
            [
                'attribute' => 'id',
                'label' => 'Выбрать водителя',
                'format' => 'html',
                'filter' => false,
                'value' => function ($model) {
                    $value = '<a href="driverChoose?id='.$model->id.'" class="btn btn-danger">Выбрать</a>';
                    return $value;
                }
            ]
        ],
    ]); ?>
  • Вопрос задан
  • 228 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
С помощью js. Модальное окно - это не другая страница.
Можно отправить запрос в контролер с параметром и перегрузить страницу, да масса вариантов, но Вы мало описали, что бы перейти к конкретике
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы