Загрузка ajax данных в модалку

156
05 декабря 2018, 04:20

Вообщем есть проект на yii2 и там выводятся пользователи в gridview.

<?php Pjax::begin(['timeout' => 10000]);
        echo GridView::widget([
            'options' => ['class' => 'grid-view table-responsive'],
            'tableOptions' => ['class' => 'table table-striped table-bordered table-hover'],
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,
            'columns' => [
                'id',
                ...
            ],
        ]);
    Pjax::end() ?>

Тут много информации. Вообщем у gridview есть созданная мной кнопка, она открывает модальное окно, мне нужно что бы в это окно подгружалась форма со значениями от того пользователя по которому я нажал, как это сделать?? И ясно, что всё это без перезагрузки страницы.

Answer 1

В созданную кнопку необходимо добавить атрибут с айдишником юзера data-userId="12345" и обработать его в событии открытия модального окна.

$('.modalUser').on('show.bs.modal', function (event) {
// очистить старые данные
var modal = $(this);
var button = $(event.relatedTarget);
var userId = button.data('userId');
if(userId !== undefined){
    // отправить ajax для получения данных юзера
    $.ajax(...);
    // вставить данные в форму модалки
    modal.find(...);
}
});

Также перед отправкой запроса можно вместо формы отображать крутяшку и убирать ее, когда придут данные.

READ ALSO
Убрать хештег из строки PHP

Убрать хештег из строки PHP

Например есть строка

153
Формирование массива в цикле

Формирование массива в цикле

В цикле формируется массив, к примеру:

148
Как совместить jQuery и PHP?

Как совместить jQuery и PHP?

У меня есть код на js:

134