1

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

我启用了 a rowChecker,以便每一行都可以通过复选框进行选择。

它被放置在一个表格中;通过这种方式,用户可以选择更多行,然后单击我的“提交”按钮,该操作就可以获取所选行的 ID。

但是用户无法选择存在于不同页面中的两行(例如,分页 delta=5,他们需要元素 1 和 6)。

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

你以前有过这方面的经验吗?

谢谢

4

1 回答 1

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. 使用标有“记住选择”的单独按钮发布当前选择。

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

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

于 2015-05-20T09:00:16.790 回答