yii2 pjax внутри другого pjax

у меня есть форма с двумя pjax. (один внутри двух) при нажатии на ссылку во втором PJAX отправить запрос на сервер, но в поле «X-PJAX-Container» записать идентификатор первого контейнера.

Pjax::begin([
    'id' => 'register-form'
    ]);

...

Pjax::begin([
    'id' => 'que'
    ]);

echo yii\helpers\Html::a('update', ['/portal/que/gr-usl/');

Pjax::end();

...

Pjax::end();

местоположение после обновления клика: /portal/que/gr-usl?_pjax=%23register-form

заголовок запроса

X-PJAX:true
X-PJAX-Container:#register-form
X-Requested-With:XMLHttpRequest

если установить data-pjax для ссылки #que, заголовок запроса не изменится.


person Кривошеев Сергей    schedule 17.07.2017    source источник


Ответы (1)


для всех ссылок внутри pjax отключен data-pjax изменение href на onclick с функцией

$.pjax({url: $(el).attr('link'), container: '#pjax-grusl'});

ссылки имеют код

echo yii\helpers\Html::a('update', null,[
        'data-pjax' => 'false',
        'link' => \yii\helpers\Url::to(['/portal/que/gr-usl/',
            'ids'    => $ids,
            'filter' => $filter,
            'gr'     => $gr
        ]),
        'onclick' => 'selGr(this)'
    ]);

но он должен работать из коробки :( я не понимаю, почему щелчок по ссылке не находит первый контейнер pjax из дерева dom.

person Кривошеев Сергей    schedule 18.07.2017