2016-08-08 8 views
2

私はJavaScriptテーブルgoodies-packをDataTables.netから使用しています。私は自分の必要性、個々の列の検索(入力の選択)、found hereに非常に適した機能を紹介しました。DataTable - 個々の列の検索(入力の選択)が機能しないのはなぜですか?

この機能を使用すると、列データをドリルダウンしてフィルタリングできます。

私は幸運のない標準的な実装を試みました。実装に特定の分野はなく、他のすべてのプロパティを削除しようとしました。

私のコードは次のとおりです。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#alertLogTable').DataTable({ 
      language: { 
       url: '//cdn.datatables.net/plug-ins/1.10.11/i18n/Portuguese-Brasil.json' 
      }, 
      responsive: true, 
      initComplete: function() { 
       this.api().columns().every(function() { 
        var column = this; 
        var select = $('<select><option value=""></option></select>') 
         .appendTo($(column.footer()).empty()) 
         .on('change', function() { 
          var val = $.fn.dataTable.util.escapeRegex(
           $(this).val() 
          ); 

         column 
          .search(val ? '^'+val+'$' : '', true, false) 
          .draw(); 
        }); 

       column.data().unique().sort().each(function (d, j) { 
        select.append('<option value="'+d+'">'+d+'</option>') 
       }); 
       }); 
      } 
     }); 
    }); 
</script> 

datatables.netページ上のデモは、それをフィルタリングするために、各列の下のボタンを示しています。私はそれらとフィルタリング機能を取得しません。私はここで何が欠けていますか?

+0

何が問題なのですか? –

+0

@CMedina、私は私の自己が何がうまくいかないか不明確にしているかもしれません。謝罪。質問を編集しますが、ページのデモでは、各列の下にあるボタンがフィルタされて表示されます。 – gtludwig

+0

コンソールには何が表示されますか?検索語のエラーメッセージはありますか? – Lucky

答えて

4

コードworks fine。私はあなたがちょうど<tfoot>セクションを含むことを忘れてしまったことを100%確信しています。フッタは魔法によって追加されません。<tfoot>が存在しない場合、<select>は何も挿入されません。だから覚えておいてください:

<table> 
    <thead> 
    <tr><th></th></tr> 
    </thead> 
    <tbody> 
    <tr><td></td></tr> 
    </tbody> 
    <tfoot> 
    <tr><th></th></tr> 
    </tfoot> 
</table> 
関連する問題