分页时保留 liferay-ui:search-container

Keep liferay-ui:search-container while paging

我有一个 <liferay-ui:search-container> 显示我的结果。

我启用了 rowChecker,这样每一行都可以通过复选框 select 启用。

它被放置在一个表格中;通过这种方式,用户可以 select 更多行,然后单击我的 "submit" 按钮,该操作能够获取 selected 行的 ID。

但用户无法 select 两行出现在不同的页面中(例如,有一个分页 delta=5,他们需要元素 1 和 6)。

我想不出解决这个问题的方法。

你以前有过这样的经历吗?

谢谢

我看到两个解决你问题的方法:

  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. 使用标有 "Remember selection" 的单独按钮发布当前选择。

您应该显示一个文本,指示选择了多少元素,并提供再次取消选择所有元素的选项。

并且您必须在适当的时候(例如,对于新的搜索)重置所选元素的列表 - 这不是一项微不足道的任务。许多应用程序不记得跨页面请求的行选择的原因之一。