2015-05-19 4 views
1

У меня есть <liferay-ui:search-container>, отображающий мои результаты.Держите liferay-ui: search-container во время подкачки

Я включил rowChecker, так что каждая строка становится доступной по выбору.

Он положен в форму; таким образом, пользователи могут выбирать больше строк, а затем нажать кнопку «отправить», и действие сможет получить идентификаторы выбранных строк.

Но пользователи не могут выбрать две строки, присутствующие на разных страницах (например, существует дельта = 5, а для них нужны элементы 1 и 6).

Я не могу найти способ решить эту проблему.

Есть ли у вас предыдущий опыт?

Спасибо

+0

Ну, форма будет передавать только доступные ей параметры. Когда вы переходите на другую страницу контейнера поиска, вы теряете предыдущие элементы. Одна работа вокруг может быть на каждой разбивке на страницы, вы сохраняете выбранные элементы в запросе или сеансе и обрабатываете их при отправке. –

+0

Проблема заключается в том, что, используя кнопки, автоматически предоставленные taglib (например, следующий, предыдущий и т. Д.), Я не могу получить предыдущие выбранные значения (потому что taglib не выполняет sumbit, а просто ссылается на другой PortletAction) –

ответ

1

Я вижу два решения для вашей проблемы:

  1. Добавить onchange обработчик флажков и отправить запрос AJAX, чтобы сохранить выбранные элементы на сервере:

    // Stub using AUI/YUI: 
    AUI().use("node", function(A) { 
        A.all("td.entry-selector input").on('change', function (e) { 
        var checkbox = e.target; 
        var selectionState = checkbox.get('checked'); 
        // Send the selection to the server - depends on the architecture of your portlet 
        ... 
        }); 
    }); 
    
  2. Используйте отдельную кнопку с надписью «Запомнить выбор», в которой размещается текущий выбор.

Вы должны показать текст, указывающий, сколько элементов выбрано, и предложить возможность снова отменить выбор всех элементов.

И вы должны сбросить список выбранных элементов, если это необходимо (например, для нового поиска) - не тривиальная задача. Одна из причин, почему многие приложения не запоминают выбор строк в запросах страниц.

 Смежные вопросы

  • Нет связанных вопросов^_^