【发布时间】:2017-01-24 07:21:50
【问题描述】:
我想在dataTables 上添加一个下拉过滤器,仅在单个列上。
我添加了以下代码,但它在 all 列上添加了下拉列表:
$('#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>' )
});
});
});
【问题讨论】:
-
请花时间更仔细地格式化您的代码 - 最终结果更容易理解!一致地缩进,并且从不混合制表符和空格。
标签: jquery html datatables