您好我需要移动到JQUERY DATATABLES 1.10.10上的过滤器列顶部 我底部有过滤柱:
$("dtabledID thead th").each( function () {
var title = $(this).text();
$(this).html( "<input type=\"text\" placeholder=\"Search "+title+"\" />" );
} );
经典之作:
// Apply the search column filters
table.columns().eq( 0 ).each( function ( colIdx ) {
$( 'input', table.column( colIdx ).footer() ).on( 'keyup change', function () {
table
.column( colIdx )
.search( this.value )
.draw();
} );
} );
我的DataTables使用scrollX和scroolY函数......内容 生成服务器端 ,所有工作都正常..过滤器也是。
我需要将过滤器移到顶部(之后或之前)标题(TH和THEAD)
我尝试了许多解决方案但没有成功,例如:
在THEAD中添加TD列无法正常工作
<thead>
<tr><th>col1</th><th>col2</th></tr>
<tr><td>col1</td><td>col2<</td></tr>
</thead>
$(document).ready(function() {
$('#mytable thead td').each( function () {
var title = $('#mytable thead th').eq( $(this).index() ).text();
$(this).html( '<input type="text" placeholder="Search '+title+'" />' );
});
$("#mytable thead input").on( 'keyup change', function () {
table
.column( $(this).parent().index()+':visible' )
.search( this.value )
.draw();
});
});
CSS解决方案:无效
tfoot {
display: table-header-group;
}
任何建议?
答案 0 :(得分:11)
thead
中为具有相同列数的搜索过滤器添加额外行。orderCellsTop
指示插件使用顶行进行排序。// Setup - add a text input to each header cell
$('#example thead tr:eq(1) th').each( function () {
var title = $('#example thead tr:eq(0) th').eq( $(this).index() ).text();
$(this).html( '<input type="text" placeholder="Search '+title+'" />' );
} );
var table = $('#example').DataTable({
orderCellsTop: true
});
// Apply the search
table.columns().every(function (index) {
$('#example thead tr:eq(1) th:eq(' + index + ') input').on('keyup change', function () {
table.column($(this).parent().index() + ':visible')
.search(this.value)
.draw();
});
});
请参阅this jsFiddle以获取代码和演示。