Ich verwende das DataTables-Plugin, um meine Tabelle interaktiv zu gestalten.
Die Tabelle wird von PHP auf der Seite angezeigt.
Wenn ich einen Datensatz zur Datenbank hinzufüge, lade ich die Tabelle mit jQuery load (), aber das bricht DataTables.
Wie kann ich die Tabelle aktualisieren, während DataTables weiterhin intakt bleibt?
Hinweis: Ich verwende DOM als Datenquelle und nicht als serverseitige Verarbeitung.
Wenn Sie die gesamte Tabelle vollständig neu laden, müssen Sie den initialen Initialisierungscode für die Datenquelle in eine Funktion einfügen. Rufen Sie diese Funktion beim Laden der Seite auf. Wenn Sie die Tabelle vollständig durch Ajax ersetzen, sollten Sie das Tabellen-Eltern-Div, das vom Plugin erstellt wurde, wahrscheinlich als Wrapper für alle Nicht-Tabellen-DOm-Elemente entfernen, die es erstellt. Wenn Tabelle ID="Beispiel", wrapper id="example_wrapper".
Hier ist genug Code, der Sie wahrscheinlich auf Ihrem Weg voranbringt. Es gibt einfache Möglichkeiten, nur Zeilen zu aktualisieren, aber da die Anfrage für ein vollständiges Nachladen der Tabelle ist, habe ich das gefolgt
%Vor%Wenn Sie Ihre Datentabelle erstellen, weisen Sie den resultierenden Wert einer Variablen zu:
%Vor% Wenn Sie Ihr neues Objekt erstellen, vermutlich über AJAX, stellen Sie sicher, dass die Eigenschaften zurückgegeben werden, die Ihre Tabelle anzeigen muss. Anschließend können Sie in Ihrer Funktion success
die Methode fnAddData
verwenden, um Ihrer Tabelle eine neue Zeile hinzuzufügen. Diese Methode nimmt ein Array von Werten auf, das erste geht in die erste Spalte, das zweite in die zweite und so weiter:
Tags und Links jquery datatables