【问题标题】:jQuery Datatables - Return only first 5 rows in table from searchjQuery Datatables - 从搜索中仅返回表中的前 5 行
【发布时间】:2016-05-07 08:28:56
【问题描述】:

我知道我可以通过以下方式过滤行:

var table = $('#example').DataTable();
//#column3_search is a <input type="text"> element
$('#column3_search').on( 'keyup', function () {
    table.columns( 3 ).search( this.value ).draw();
});

例如,我如何仅返回此搜索的前 3 个结果?

【问题讨论】:

    标签: javascript jquery search datatables


    【解决方案1】:

    使用选项pageLength

    $('#example').dataTable( {
      "pageLength": 3
    } );
    

    或尝试在.draw() 之前添加page.len(3)(文档:https://datatables.net/reference/api/page.len()

    table.columns( 3 ).search( this.value ).page.len(3).draw();
    

    使用自定义过滤的解决方案(如https://www.datatables.net/examples/plug-ins/range_filtering.html

    DataTables 提供了一种 API 方法来添加您自己的搜索功能, $.fn.dataTable.ext.search。这是一个函数数组(推你的 拥有它)将在抽签时间运行,以查看是否有 是否应包含特定行。

    使用

    $.fn.dataTable.ext.search.push(
        function(settings, searchData, index, rowData, counter) {
          var maxIndex = 4;
          if (counter <= maxIndex) {
            return (true);
          }
          return false;
        }
      );
    

    这里我设置maxIndex = 4 只包含搜索结果的前 5 行。

    在这里演示:https://jsfiddle.net/user2314737/nk0m2ekv/

    【讨论】:

    • 这将添加一个分页器并将其他行放在其他页面中。但这是一个好的开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2017-07-29
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多