开源 wordpress Python Android linux命令 Windows mysql apache Firefox shell Ubuntu centos 程序员 php nginx 微软 google java linux HTML5

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>

延伸阅读

  • 抱歉,暂无相关内容!

评论