Datatables的搜索功能可以分别两种,一种是全局搜索,一种是针对某个列的搜索。全局搜索构成的sql语句使用的OR关键字,而列的搜索构成的sql语句使用的是AND关键字。
js代码如下:
$(document).ready(function() {
// Setup - add a text input to each footer cell
$('#example tfoot th').each( function () {
var title = $('#example thead th').eq( $(this).index() ).text();//获取表尾的列名称
$(this).html( '<input type="text" placeholder="Search '+title+'" />' );显示搜索框
} );
// DataTable
var table = $('#example').DataTable();
// Apply the search
table.columns().eq( 0 ).each( function ( colIdx ) {//当搜索框中输入内容时动态重绘表格
$( 'input', table.column( colIdx ).footer() ).on( 'keyup change', function () {
table
.column( colIdx )
.search( this.value )
.draw();
} );
} );
} );
注意:当表格数据动态来自于server-side时,表格的搜索动作将会全部交付给服务器端,服务器端返回数据后,前端表格只要负责重绘即可。