テーブルの値を表示するためにDataTablesを使用しています...選択メニューを使用して列フィルタリングを実行しました...しかし、選択メニューと入力ボックスの両方を使用する必要があります...
1177 次
1 に答える
1
それは本質的に違いはありません。コールバックを介して両方を処理します。以下の方法では、サーバー側で作成されたテーブルの入力フィールドに基づいて列をフィルタリングできます。
var oTable = $('#disporeport').dataTable( {
"aaSorting": [[ 7, "asc" ]],
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "http://urltosubmit",
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bAutoWidth": false,
"bFilter":true,
"bLengthChange": true,
"bPaginate": true,
"bSort": true,
"iDisplayLength": 25,
"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"bInfo": true,
"aoColumns": [
{ "sTitle": "col1", "bVisible":false},
{ "sTitle": "col2", "sWidth": "20%"},
{ "sTitle": "col3", "sWidth": "20%"}
],
"fnServerParams": function ( aoData ) {
aoData.push({ "name": "selboxparam", "value": $('#selboxid').val() },
{ "name": "inputboxval", "value": $('#inputboxid').val() },
}
});
したがって、fnServerParamsが懸念事項です。渡すボックスごとに名前と値を指定します。これらは$_REQUEST値としてajaxページに送られ、サーバー側スクリプトで使用して、選択したメソッドでフィルタリングできます。テーブルを再描画するには、ボタンのクリックまたはフィールドのマウスアップでfnDrawを実行するだけです。
これは、domベースのテーブルでこれを行うための公式のdatatablesの例です。おそらく少し複雑ではありませんが、テーブルの大きさによっても制限されます(domベースのテーブルで10,000レコードを超えるレコードを個人的に作成することはありません)。
于 2012-07-18T20:44:01.513 に答える