Как принудительно указать pjax container при работе с фильтром в searchModel?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Как принудительно указать pjax container при работе с фильтром в searchModel?

Сообщение terrarium volition »

Всем доброго дня!

Есть форма на которой по кнопке открывается модальное окно.
При работе в модальном окне его содержимое обновляется по pjax.
Когда модальное окно закрывается, я хочу на основной форме в таблице GridView воспользоваться поиском, но в качестве container для pjax подставляется container из модального окна и фильтр, разумеется, мне ничего не фильтрует.
Если я делаю поиск до захода в модальное окно, всё работает, как надо.

Вопрос:
Как исправить ситуацию, принудительно задав pjax container для модели поиска?

Спасибо.
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Как принудительно указать pjax container при работе с фильтром в searchModel?

Сообщение terrarium volition »

Неужели никто не сталкивался с подобной проблемой? :shock:

Или, может, как-то иначе можно решить проблему?
Почему модель поиска берёт последний используемый id container (в данном случае - id container модального окна) мне совершенно не понятно. :?

Может, как-то можно сбрасывать это id по завершении pjax?

Если я недостаточно точно сформулировал вопрос, прошу меня поправить, я просто не знаю, что ещё тут можно сказать, казалось бы форма простая, и пояснять тут нечего.

Такие формы с модальным окном просматриваются и далее по проекту, не хотелось бы из-за такого поведения от них отказываться.

Пока единственное, что могу как выход из положения себе предложить - обновлять содержимое страницы "чистым" ajax. Но возможно, там нужно будет обновлять внутренние поля таблицы по отдельности, в цикле, а не скопом всё, т.к. тащить разметку таблицы с сервера не хотелось бы и я такого раньше не делал, лишняя какая-то возня, на мой взгляд.

Прошу уважаемое сообщество помочь! :(
Аватара пользователя
[email protected]
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

Re: Как принудительно указать pjax container при работе с фильтром в searchModel?

Сообщение [email protected] »

как я понял из сказанного, на событие закрытия модального окна, надо привязать отправку содержимого формы в акшн GridView, где renderAjax(), вернет, что вы хотите
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Как принудительно указать pjax container при работе с фильтром в searchModel?

Сообщение terrarium volition »

[email protected] писал(а): 2023.08.25, 13:15 как я понял из сказанного, на событие закрытия модального окна, надо привязать отправку содержимого формы в акшн GridView, где renderAjax(), вернет, что вы хотите
Не, мне нужно, чтобы при работе с фильтром в таблице №1(она в модальном окне), container pjax этой таблицы не залезал в работу фильтра с таблицей №2. Обе таблицы на одной странице, только таблица №1 работает в модальном окне, которое вызывается по кнопке, размещённой в заголовке таблицы №2, у которой тоже есть фильтр полей.
Т.е. получается. что один pjax container наползает на другой pjax container и, следовательно, я не могу одновременно пользоваться фильтрацией в обеих таблицах.
Т.е. поработал в одной таблице с фильтром, перезагрузил таблицу и поработал в другой таблице с фильтром. Дурдом, короче.

Я даже не знаю, за что зацепиться в этом вопросе. Прошу сообщество отреагировать и, либо помочь, либо просто нахрен послать. :lol:
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Как принудительно указать pjax container при работе с фильтром в searchModel?[РЕШЕНО]

Сообщение terrarium volition »

Дело было в том, что у таблиц должны быть свои id.
Всем спасибо за золотое молчание. :D
Ответить