2016-11-13 23 views
2

jQuery DataTableで複数のフィルターを使用する場合は、Individual column searching (text inputs)Individual column searching (select inputs)の手順を実行し、フッターに複数のフィルターがあります。一方、私はこれらのフィルタをDataTableのヘッダに移動したいが、下の画像に表示されているように水平に並べることはできない。 Custom filtering - range searchというようにいくつかの例がありますが、それらも整列していません。これは可能ですか?jQuery DataTable:テーブルヘッダーで個別の列を検索

$(document).ready(function() { 
    // Setup - add a text input to each footer cell 
    $('#example tfoot th').each(function() { 
     var title = $(this).text(); 
     $(this).html('<input type="text" placeholder="Search '+title+'" />'); 
    }); 

    // DataTable 
    var table = $('#example').DataTable(); 

    // Apply the search 
    table.columns().every(function() { 
     var that = this; 

     $('input', this.footer()).on('keyup change', function() { 
      if (that.search() !== this.value) { 
       that 
        .search(this.value) 
        .draw(); 
      } 
     }); 
    }); 
}); 

enter image description here

+0

@ Gyrocode.comあなたがDataTableの本当のマスターであるので、この問題について私を助けてくれますか?ありがとうございます。 –

+0

はい、私たちはこのフィルターをトップに移動できます... –

答えて

5

ここsolution問題へのDataTableの構成に必要なものを追加してください。

列フィルタは、ちょうど

<style> 
tfoot { 
    display: table-header-group; 
} 
</style> 

https://jsfiddle.net/dipakthoke07/ehhfsrfq/2/

・ホープこのヘルプあなたを使用することにより、すなわち、CSSを使って、テーブルのヘッダーにフッターから移動されます。

+0

@Clint Eastwoodは問題解決かどうか? –

+0

申し訳ありませんが、別の問題を抱えていて、あなたが投稿したソリューションを試してみました。検索入力はヘッダーにありますが、検索パラメータ(** sSearch **)は標準の検索ボックスを使用して渡すことができる間に、nullとしてコントローラに渡されます。これに加えて、ヘッダの任意の検索ボックスに1文字を入力する場合(デフォルトのものを除く)、コントローラのメソッドは8-9回呼び出されますが、デフォルトの検索ボックスで1文字を入力すると1回しか呼び出されません。何か案が? –

+0

問題のどこを見て、問題の解決方法を明確にしてください。お返事ありがとうございます+ –

関連する問題