I current有一个datatable,每个记录有一个按钮,当点击显示该帐户的其他信息。当这种情况发生时,我调用fnFilter()来过滤那个特定的行,以便没有其他的显示,用户知道我显示的子信息是为该特定的帐户。
我想做的是,当用户在搜索工具栏中单击,它隐藏我显示的子信息,然后清除过滤器,并显示所有可用的原始记录。
一切工作正常,除了过滤器不会被清除,所以只有最初选择的行仍然显示。
我想做的是,当用户在搜索工具栏中单击,它隐藏我显示的子信息,然后清除过滤器,并显示所有可用的原始记录。
一切工作正常,除了过滤器不会被清除,所以只有最初选择的行仍然显示。
不知道我失踪了。我已经尝试了从使用fnFilter(”),fnDraw(),到fnReloadAjax()的一切。这些(或任何组合)似乎没有工作!
更新我似乎已经孤立的问题。如果我从fnFilter(accountid,7)中删除列#,使用fnFilter(”)将重新显示所有记录。但是,我真的需要过滤特定的列,因为它是唯一的列,每个记录包含唯一的值。有任何想法吗?我没有尝试使用fnFilter(”,null),但没有成功。
这里是我的代码:
var oTable = $('.mypbhs_accounts').dataTable({ "bProcessing": true,"sAjaxSource": 'sql/mypbhs_accounts.PHP',"aaSorting": [[1,"asc" ]],"bJQueryUI": true,"sPaginationType": "full_numbers",//"bStateSave": true,//Use a cookie to save current display of items "aoColumns": [ {"asSorting": [ ],"sClass":"center"},null,{ "bSearchable": true,"bVisible": false },"bVisible": false } ],"bScrollCollapse": true,"sScrollX": "100%","fnInitComplete": function() { oTable.fnAdjustColumnSizing(); } }); /*** CLEAR CURRENT ACCOUNT INFO ***/ $(document).on('click','.mypbhs_content .dataTables_filter',function(){ //THIS IS CALLED WHEN USER CLICKS INTO THE SEARCH BAR $('.mypbhs_content .dataTables_filter :input').val(''); //CLEAR CURRENT VALUE IN THE SEARCH BAR oTable.fnFilter(''); //oTable.fnDraw(); //oTable.fnReloadAjax(); $('.mypbhs_truform_info').empty(); //REMOVE SUB-INFORMATION SO IT DOESNT GET ASSOCIATED WITH WRONG ACCOUNT $('.control_bar').children('ul.mypbhs_account_controls').empty(); });
解决方法
我似乎已经想出来了。
必须清除该特定列上的过滤器和全局过滤器:
必须清除该特定列上的过滤器和全局过滤器:
oTable.fnFilter('',7); oTable.fnFilter('');