Ich habe ein einfaches Formular erstellt und verwende das Datatables-jQuery-Plugin, um einige Daten darin anzuzeigen. Daten werden von einem PHP-Skript (process.php) gefüllt, das die richtigen Ergebnisse im JSON-Format liefert. Im Formular gibt es eine Schaltfläche, die den Wert des Textfelds an die process.php sendet. Das Problem ist, dass ich die Datentabelle mit den neuen Daten, die vom Skript process.php empfangen werden, nicht aktualisieren / ändern kann, wenn auf die Schaltfläche geklickt wird .
Der Code des Formulars:
%Vor%Um die Datentabelle zu erstellen, verwende ich den folgenden JQuery-Code:
%Vor%process.php script (funktioniert gut) ist:
%Vor% Es sieht so aus, als ob Sie auch fnServerData
angeben sollten, wenn Sie Ihr Datable einrichten, wenn Sie ajax POST verwenden möchten: Ссылка
Es ist auch möglich, dass Sie fnReloadAjax()
nicht aufrufen müssen, sondern nur fnDraw()
. fnReloadAjax()
ist eine Plugin-Funktion, also nehme ich an, du hast sie vorher geladen.
fnReloadAjax
ist das, was Sie verwenden sollten (und ich glaube, dass ein Redraw in die Funktion eingebaut sein könnte). Aber das Problem ist, dass, obwohl Sie einen zweiten .ajax Aufruf machen, die Daten in diesem Aufruf überhaupt nicht mit Ihrer Datentabelle verbunden sind und niemals an sie gebunden sind.
Wenn Sie fnReloadAjax
verwenden, wird derselbe Ajax-Aufruf ausgeführt, den Sie bei der Initialisierung Ihrer Tabelle angegeben haben. Also, was Sie brauchen, wie Stefan erwähnt hat, ist, Ihren fnServerData
-Parameter in Ihren Dataset-Einstellungen anzugeben (aber die Success
-Parameter zu verwerfen, weil etwas in diesen Zeilen bereits von Datatables übernommen wird). Dann rufen Sie einfach Ihren Button fnReloadAjax()
auf.
Hier ist, wie Ihr endgültiger Code aussehen sollte:
%Vor% Endlich habe ich die Lösung gefunden! Es gab 2 Probleme in meinem JQuery-Code:
Danke euch beiden Stefan & amp; mbeasley !!
JQuery-Code ist jetzt:
%Vor%Tags und Links jquery jquery-datatables