そのコードは正しいです。しかし、すべてはあなたの設定に依存します。 fnFilterは、検索するテキストである必須パラメータを1つだけ取ります。 2番目のパラメータを指定すると、1つの列のみをフィルタリングします。それ以外の場合は、すべての表のテキストを検索します。もちろん、複数の表を一度にフィルタリングできます。
//initialize table 1
var oTable = $('#myTable').dataTable();
//initialize table 2
var oTable2 = $('#myTable2').dataTable();
$('#myInpuTextField').keypress(function(){
//filter table one
oTable.fnFilter($(this).val());
//filter table two
oTable2.fnFilter($(this).val());
})
EDIT - 最後のコメントはEDITです。これを行うには、フォームを使用して値をサーバーに送信する必要があります。 次に、入力フィールドに投稿された値を「プリロード」し、fnFilterを呼び出します。何かのような(PHPで)
<?php
$postedSearch = $_POST['posted'];
?>
<script type="text/javascript">
$(function(){
var oTable = $('#idOfTable').dataTable();
if($('#myInputTextField').val() !== ''){
oTable.fnFilter($('#myInputTextField').val());
}
}())
</script>
<input type="text" id="myInputTextField" value="<?php echo $postedSearch ?>" />
私はちょうどこれについては1つのテーブルを照会したい。私はちょうど通常のフォームを行い、データテーブルがあるページにPOSTをします – Codded
@このフィルタリングはサーバー側で行われました。何も投稿する必要はありません。ヘッダーとテーブルが同じページにある場合は、すべてがOKである必要があります。 –
ヘッダーは、Webサイトのすべてのページ、たとえば20ページにあります。データテーブルは1ページにあります。私は任意のページのヘッダーからデータテーブルを検索したい。私が提出すると、datatablesを持つページにリダイレクトされ、テーブルをフィルタリングするために使用されます。 – Codded