dataTables 多个查询条件

dataTables的默认查询是每次只能传入一个列的一个值,如果需要根据多个条件进行查询,需要查询多次,会对后台产生多次访问,也会对前台使用者的用户体验大打折扣。

dataTables的多列过滤插件,现在置于api中, fnMultiFilter 可以实现我们所需要的效果,就是一次查询可以根据多个条件进行过滤。

我们可以在页面(http://datatables.net/plug-ins/api)中查看到fnMultifilter的使用方法:


本人做了小小的修改。

$.fn.dataTableExt.oApi.fnMultiFilter = function( oSettings, oData ) {
for ( var i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
{
/* Add single column filter */
oSettings.aoPreSearchCols[ i ].sSearch = oData[i];
}
oSettings._iDisplayStart = 0;
this.oApi._fnDraw( oSettings );
};

使用时不需要在dataTables初始化的时候传入sName,在调用fnMultiFilter方法时也不需要传入对应key

只需要如下调用即可:

oTable.fnMultiFilter( [ "Gecko", "Cam" ] ); 
ps:dataTables的插件只需要在引用jquery.dataTables.min.js之后加在其下面的script中即可:

 <script type="text/javascript" src="style/js/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$.fn.dataTableExt.oApi.fnMultiFilter = function( oSettings, oData ) {
for ( var i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
{
/* Add single column filter */
oSettings.aoPreSearchCols[ i ].sSearch = oData[i];
}
oSettings._iDisplayStart = 0;
this.oApi._fnDraw( oSettings );
};
</script>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。