Wie kann der x-editierbare Ajax-Antwortwert überschrieben werden?

8

Ich verwende x-editable, um Inline-Bearbeitung zu machen. Wenn ich den Wert über ajax und x-editable aktualisiere, um die Antwort zu erhalten, finde ich es sehr schwierig, das div zu überschreiben, das den neuen x-editierbaren Wert enthält.

Zum Beispiel sieht mein x-editierbarer Link so aus:

%Vor%

Ich gebe meine Bearbeitung in das Pop-up ein, das x-editable zur Verfügung stellt, und gebe dann den Wert 300.00

ein

Wenn ich meine Änderungen mache, gehe ich wie folgt vor:

%Vor%

Wenn x-editable beendet ist, ist der Wert, der auf der Seite angezeigt wird, jetzt 300,00 (ohne das $ dollar-Zeichen). Wie Sie in meinem jquery Code sehen können, versuche ich den Wert zu überschreiben, den x-editable mit $ ('# failure') auf die Seite setzt. Html ('$' + newValue);

Aus irgendeinem Grund funktioniert das nicht. Ich möchte, dass 300,00 $ erscheinen, nicht 300,00.

    
LargeTuna 15.04.2013, 22:05
quelle

5 Antworten

10

Was Sie tun müssen, ist zu verhindern, dass die Methode display Ihre Methode success überschreibt.

%Vor%

Auf der Serverseite sollte Ihr JSON wie folgt aussehen: {newValue : <value>}

    
Rosdi Kasim 17.10.2013 06:14
quelle
3

Solange Ihre Antwort das folgende Format hat:

%Vor%

und Sie stellen sicher, dass die Antwort vom Erfolgsrückruf zurückgegeben wird:

%Vor%

dann x-editable sollte das Feld für Sie aktualisieren. Denken Sie daran, die Schlüssel success , pk und newValue in die Antwort einzubeziehen.

    
nurikabe 02.12.2014 19:57
quelle
2

x-editable hat eine Option "display: function (value, response) {}", mit der die auf der Seite angezeigten Daten geändert werden können:

%Vor%     
LargeTuna 17.04.2013 18:38
quelle
1

Es folgen zwei Fälle

Fall 1 : Sie möchten den Wert einfach anders anzeigen

Sie können das Render-Ereignis

verwenden %Vor%

Fall 2 : Sie möchten den Wert für das Element festlegen, das in der Ajax-Antwort zurückgegeben wird, und nicht für das, was auf der Clientseite festgelegt wurde, z. Uesr eingefügt Wert "Hallo" aber Server konvertiert es in "Hallo" (kleiner Fall) dann tun Sie folgendes

in der Ajax-Antwort wird ein neuer Wert gesetzt, z. {"success":true,"pk":13,"value":"hello"}

verwende folgenden Code

%Vor%

Stellen Sie sicher, dass Sie das Objekt mit dem genauen Namen newValue

zurückgeben     
yogs 23.04.2014 12:41
quelle
0
%Vor%     
Ammar Jinia 24.08.2016 11:12
quelle

Tags und Links