2016-07-08 10 views
1

私は列の検索とデフォルトの検索を持つデータテーブルを持っています。 columnDefsを使用して列を数値の書式で認識しましたが、列の検索には適用されません。既定値のみです。これらのcolumDefを列ごとの検索入力に含めるにはどうすればよいですか?データテーブル:columnDefsが列の検索に適用されない

マイデータ表コード:たとえばパー

j$ = jQuery.noConflict(); 

    // Data Tables code 
    j$(document).ready(function(){ 

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

     var dtResults = recordBuild(); 
     console.log(dtResults); 
     var table = j$('#myTable').DataTable({ 
      pageLength: 10, 
      scrollX: true, 
      data: dtResults, 
      columns: [ 
       {data: 'Renewal_Name', 
       defaultContent: ''}, 
       {data: 'Renewal_Status__c', 
       defaultContent: ''}, 
       {data: 'Renewal_Manufacturer_Name', 
       defaultContent: ''}, 
       {data: 'Master_Vendor__c', 
       defaultContent: ''}, 
       {...} 
      ], 

      columnDefs: [ 
       {type: 'num-fmt', targets: [10,17]} 
      ], 

      buttons: [ 
       'excelHtml5' 
      ], 

      dom: 'Bfrtip', 

      initComplete: function(settings, json) { 
       j$('div.loading').remove(); 
      } 
     }); 

     // Apply the filter 
     table.columns().every(function() { 
      var column = this; 

      j$('input', this.footer()).on('keyup change', function() { 
       column 
        .search(this.value) 
        .draw(); 
      }); 
     }); 

データテーブルのWebサイトで、私は「セットアップ」と「適用」セクションでデータテーブルの初期化を挟まれました。

デフォルト検索を利用するとき、columnDefsが正常に機能することを確認しました。ここで作成された入力にcolumnDefsを適用する方法はありますか?これは、データテーブルの検索フィールドにキーボード入力を "転送" します

$(".myCustomSearch").on("keyup",function(){ 
    $("#[*YOUR TABLE ID*]_filter").find("input").val($(this).val()); 
}); 

答えて

0

は、これを追加し

// Setup - add a text input to each footer cell 
j$('#myTable tfoot th').each(function() { 
    var title = j$(this).text(); 
    j$(this).html('<input type="text" class="myCustomSearch" placeholder="Search '+title+'" />');  // Added a class here 
}); 

...これを試してみてください。
この "コピーエフェクト"が表示されないようにするには、#[*YOUR TABLE ID*]_filterdisplay:noneに設定します。

これはもちろん...テーブル全体を検索します...特定の列だけでなく、 ;)

+0

ありがとうございますが、私は列の検索が必要です。私は列単位で検索のための正規表現を定義する方法を学んでいます。私はそれを刺すだろうと思う –

関連する問題