Haben Sie einige Daten, die kommt aus AJAX und wird in Tabelle gerendert. Haben Sie auch Umschalttaste, seine Phasen sind 'Show duplicates' und 'Show all'. Wenn Sie zum ersten Mal auf die Seite kommen, werden alle Daten gerendert, Buttonphase ist 'Duplikate anzeigen'. Wenn klicken Sie auf ‚Duplikate anzeigen‘, spezielle Ajax-Request an den Server geht und Antwort wird in JS Verarbeiten des:DataTables: Reset Tabelle Daten
if (res[0] == '200' || res[0] == '404') {
if (!is_duplicates_showed) { //if pressed 'Show duplicates'
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
return $.inArray($(table.row(dataIndex).node()).find('td:first').find('form').find('input[name="registration_id"]').val(), res[1]) > -1;
}
);
table.draw();
} else { //if pressed 'Show all'
Ergebnis: nur die Zeilen sichtbar sind, welche registration id
solche ids von Ajax aneignet. Die Tastenphase wechselt zu 'Alle anzeigen'.
Frage: Wie setzt man die Daten zurück (alle Daten erneut anzeigen), wenn 'Alle anzeigen' gedrückt wird?
Was ich versucht (in else
Abschnitt):
1.
var table = $('#participants').DataTable();
table
.search('')
.columns().search('')
.draw();
2.
$.fn.dataTable.ext.search.pop();
3.
table.destroy();
var newTable = $('#participants').DataTable();
newTable.draw();
Kein Erfolg. Nach diesen Vorgängen sehe ich noch "gefilterte" Zeilen, die sich durch push()
ergeben haben.
Thnaks, funktioniert gut) –