2016-05-07 29 views
1

私はで行をフィルタすることができます知っているから、表にのみ最初の5行を返す:jQueryのDataTableの検索

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()(DOC:https://datatables.net/reference/api/page.len())の前にpage.len(3)を追加してみてくださいを使用してください(https://www.datatables.net/examples/plug-ins/range_filtering.htmlのように)カスタムフィルタリング

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

ソリューション

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; 
    } 
); 

使用して、ここで私は、検索結果の最初の5行が含まれるようにmaxIndex = 4を設定します。ここ

デモ:https://jsfiddle.net/user2314737/nk0m2ekv/

+0

これは、JSTページネータを追加し、他のページに他の行を配置します。しかし、それは良いスタート –

関連する問題