У меня есть дата, в которой есть кнопка для каждой записи, которая при нажатии отображает другую информацию для этой учетной записи. Когда это происходит, я вызываю 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,
null,
null,
null,
null,
null,
{ "bSearchable": true, "bVisible": false },
{ "bSearchable": true, "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();
});