Пагинация сбрасывает флажок строк - PullRequest
0 голосов
/ 09 октября 2018

У меня есть GSP, содержащий несколько строк с флажком, который позволяет пользователю выбрать несколько строк.

 <table>
<thead>
    <tr>
    // Column headers
    </tr>
</thead>
<tbody>
    <g:each in="${itemList}" status="i"
                var="instance">
        <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
            // Some other rows
            <td>
                <g:checkBox name="selected"
                                value="${instance.id}"
                                checked="false" />
            </td>
        </tr>
    </g:each>
</tbody>

И нумерация страниц под моей таблицей:

    <div class="pagination">
        <g:paginate total="${total}" params="${params}"/>
    </div>

Теперь проблема в том, когда я переключаюсь со страницы 1 -> страница 2 -> и затем обратнона странице 1 все флажки на странице 1 сбрасываются.

Поскольку разбиение на страницы вызывает метод контроллера списка, я проверил следующее при переключении страницы, просмотрев следующее в отладчике при вызове метода контроллера списка:

params.list('selected')

Но, к сожалению, список пуст.

1 Ответ

0 голосов
/ 10 октября 2018

Пагинация не отправляет форму (или, по крайней мере, не так, как вы думаете; я действительно не помню, использует ли базовая логика форму или нет), поэтому ваши флажки не отправляются никуда.

Вам необходимо рассмотреть различные подходы к отправке формы, чтобы сохранить выбранные флажки.Возможны два подхода:

  1. Напишите свой собственный тег пагинации, который оборачивает g.paginate и изменяет, какие параметры отправляются, чтобы включить значения вашего флажка.

  2. Добавьте обработку ajax к своим флажкам, чтобы они сразу отправлялись при изменении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...