2016-05-07 46 views
1

我知道我可以過濾的行表中只返回前5行:jQuery的數據表,從搜索

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分的成績列該搜索的?

回答

0

使用選項pageLength

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

或嘗試.draw()之前加入page.len(3)(DOC: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/

+0

這將JST添加分頁程序並將其放置在其他頁面其他行。但它是一個好的開始 –