jeditable – nespravne zobrazenie v šablone po zmene

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
erzzo
Člen | 49
+
0
-

Zdravím,
týchto témat tu je viac ale ani jedna sa poriadne nedoriešila tak prosim o pomoc. Problem je v tom, že keď použijem jQuery plugin jeditable tak po jeho spracovaní miesto zobrazenia zmenenej hodnoty v snipete dostanem niečo takéto(je to vlastne cely obsah Response):

{"state":[],"snippets":{"snippet--edit":"ssaaeee<\/div>\n"}}

hodnota „ssaaeee“ je pôvodná hodnota

Šablona:

{snippet edit}
    <div class="edit_area">{$intro['description']}</div>
{/snippet}

Presenter:

	public function actionDefault()
	{
            $this->template->intro = $this->getModel("BaseModel")->getIntro();
	}

	public function handleSaveIntro(){
            if($this->isAjax())
            {
                $description = $_POST['value'];

                $intro = $this->getModel("BaseModel")->getIntro();
                $this->getModel('BaseModel')->update($intro, array("description" => $description));

                $this->template->jeditableDescription = $description;
                $this->invalidateControl('edit');
            }

        }

Editoval erzzo (26. 12. 2012 20:16)

marek-m
Člen | 66
+
0
-

v metode handleSaveInto si posli do sablony:

<?php
$this->template->intro = $this->getModel("BaseModel")->getIntro();
?>

po update

Editoval marek-m (26. 12. 2012 21:14)

erzzo
Člen | 49
+
0
-

jaj sorry, hodil som tu len staršiu verziu ale mal som to tak ale aj tak mi to robilo

erzzo
Člen | 49
+
0
-

dobre zasa to tak vidím, že sa to nevyrieši

lukdanek
Člen | 7
+
0
-

Ahoj,

já to vyřešil takhle:

<script>
$('.title').editable( {
//...
callback : function(value, settings) {
            var json = $.parseJSON(value);
            $('.title').text(json.**title**);

)};
</script>

a v presenteru se pošle nový obsah:

<?php

public function handleEditTitle($catid) {
//...

$this->payload->title = $content;
$this->sendPayload();
$this->invalidateControl('editTitle');


}
?>