2009-08-18 9 views
2

Ich habe mich für ein wirklich gut, gut dokumentiert jquery Plugin, das mich auf Klick auf eine andere Taste bearbeiten Werte lassen.Speichern von bearbeiteten Werte Jeditable mit

Jeditable ist die nächste, die ich noch gefunden habe, aber ich bin nicht sicher, wie es zu bekommen zu retten, auch in der Prüfung. Etwas sehr schnelles, das den Wert zurückgibt.

Ich verwende für meine PHP-Skript:

function editprofile() 
{ 
    $this->input->post('value'); 
} 

Das ist mein JS Skript:

$("a.edit").live('click', function(){ 

    $(this).parent("li").find("span.detail").editable('profile/editprofile', 
    { 
     indicator : 'Saving...', 
     submit : 'OK', 
     tooltip : 'Click to edit...' 
    });  
}); 

Das ist mein HTML:

<span id="city" class="detail">Philadelphia</span> 
<a href="javascript:;" class="edit">Edit</a> 

Fixed: php sollte sein:

echo $this->input->post('value'); 
+0

Können Sie den serverseitigen Code erweitern? – voyager

Antwort

3

Jeditable,

Von Jeditable Vorbild:

In diesem Beispiel load.php sollte die Markup Quelle nicht gerendert xhtml zurückzukehren. Allerdings sollte save.php gerenderten xhtml zurückgeben. Beim Speichern des Browsers wird genau angezeigt, was das Skript zurückgibt. Es gibt auch eine andere Option. Sie können die Markup-Quelle im Datenparameter übergeben.

So sollte save.php zurückkehren (auf der Seite drucken), um den Text (nicht die html), die in der bearbeiteten Stelle zeigte werden wird. Es sollte auch die Änderungen in der Datenbank oder anderen serverseitigen Arbeiten speichern, die Sie tun sollten.

You post with javascript, and echo to the client the response. http://img34.imageshack.us/img34/3412/savephp.png

Auf save.php Sie alles tun, speichern Sie den neuen Wert.

Hier haben Sie eine weitere tutorial for the in-line editor for jQuery.

+0

Die ersten 2 Links sind die 2, die ich gefunden habe, ich verwende die erste, und das Tutorial lässt den Teil weg, von dem ich nicht sicher bin, wie es zu machen ist, was der PHP-Aspekt ist. – matthewb

+0

Sie haben Recht, irgendwie beeilte sich. – voyager

+0

Ich denke, ich habe es: ein Wort vergessen auf meine PHP-Funktion echo $ this-> Eingabe-> Post ('Wert'); – matthewb

1

toggledit hat einen einfachen Callback-Mechanismus (onpreview, onedit) und eine einfache öffentliche Methode api (edit, preview).

Um zu speichern, würden Sie Ihre eigene Ajax-Funktion schreiben, die ausgelöst würde, wenn diese oder einige andere Ereignisse ausgelöst werden ... z. Wenn auf eine Schaltfläche zum Speichern geklickt wird.

Der Zuhörer zum Umschalten in dem Bearbeitungsmodus ist auch konfigurierbar - Sie in Ihrem Taste Selektor passieren können:

 
$(form).find('input,select').toggleEdit({ 
    listeners: { 
     edit: '#your_button' 
    } 
}); 

auch, können Sie manuell auslösen bearbeiten und eine Vorschau von Ihrer Taste öffentliche Veranstaltungen mit:

 
$(el).toggleEdit('edit'); 
$(el).toggleEdit('preview'); 

siehe auch https://stackoverflow.com/questions/708801/whats-the-best-edit-in-place-plugin-for-jquery/:>