I corrente ha un datatable che ha un pulsante per ogni record che quando cliccato visualizza altre informazioni per quell'account. Quando ciò accade, chiamo fnFilter() per filtrare quella riga specifica in modo che non vengano visualizzati altri e l'utente sappia che le sotto-informazioni che mostro sono per quell'account specifico. Quello che vorrei fare è quando un utente fa clic indietro nella barra degli strumenti di ricerca, nasconde le informazioni secondarie che ho visualizzato, quindi cancella il filtro e mostra tutti i record originali disponibili. Tutto funziona correttamente, tranne per il fatto che il filtro non viene cancellato, quindi viene visualizzata solo la riga selezionata in origine.JQuery DataTables - Rimuovi fnFilter e visualizza tutti i risultati
Non so cosa mi manca. Ho provato tutto da usare fnFilter (''), a fnDraw(), a fnReloadAjax(). Nessuna di queste (o nessuna combinazione) sembra funzionare!
UPDATE Mi sembrava di aver isolato il problema. Se rimuovo la colonna # da fnFilter (accountid, 7), usando fnFilter ('') ri-visualizza tutti i record. Tuttavia, ho davvero bisogno di filtrare da quella colonna specifica in quanto è l'unica colonna che contiene valori univoci per ogni record. Qualche idea? Ho provato a usare fnFilter ('', null) ma senza successo.
Ecco il mio codice:
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();
});
Mi manca qualcosa o fa questa risposta completamente domanda diversa? – EWit