我知道我可以通过以下方式过滤行:
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 个结果?
最佳答案
使用选项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 provide an API method to add your own search functions,
$.fn.dataTable.ext.search
. This is an array of functions (push your own onto it) which will will be run at table draw time to see if a particular row should be included or not.
使用
$.fn.dataTable.ext.search.push(
function(settings, searchData, index, rowData, counter) {
var maxIndex = 4;
if (counter <= maxIndex) {
return (true);
}
return false;
}
);
此处我设置 maxIndex = 4
以仅包含搜索结果的前 5 行。
关于javascript - jQuery Datatables - 从搜索中仅返回表中的前 5 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37086306/