如何在单列上的jquery datatables插件上添加下拉过滤器?

时间:2016-09-16 06:34:32

标签: jquery html5 datatables

我想在$('#dataTables-example').DataTable({ responsive: true, "pageLength": 100, "lengthMenu": [100, 250, 500, "All"], initComplete: function () { this.api().columns().every( function () { var column = this; $('#dataTables-example .head .head_hide').html(''); var select = $('<select id="formfilter" class="filterdropdown"><option value="">'+$(column.header()).text()+'</option></select>') .appendTo( $(column.header()).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>' ) }); }); }); 上添加一个下拉过滤器,仅在一列上添加。 我添加了以下代码,但它在所有列上添加了下拉列表:

{{1}}

1 个答案:

答案 0 :(得分:10)

<强>解

更改

this.api().columns().every( function () {

this.api().columns(1).every( function () {

其中1是从零开始的列索引。

备注

  • 要向某些列添加过滤器,请使用columns([1,3])格式。
  • 您需要禁用该列的排序,因为每次单击过滤器时,您的列都将被排序。否则,请使用多行标题或将过滤器添加到页脚。