答案 0 :(得分:3)
您好我试图找出解决此问题的方法,看看,
var table = $('#example').DataTable();
// Apply the search in normal text input way
table.columns().every( function () {
var that = this;
$( 'input', this.footer() ).on( 'keyup change', function () {
if ( that.search() !== this.value ) {
that
.search( this.value )
.draw();
}
} );
} );
过滤使用第2列的选择输入,用于替换您选择的列
table.column(2).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>')
});
});
还创建了一个小提琴让我知道是否符合您的要求。 https://jsfiddle.net/daddzt6n/2/