Ajax se volá vícekrát + uchování proměnné pro řazení

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

Zdravím,

potřeboval bych poradit ohledně dvou věcí.

Mám tabulku a při kliknutí na jednotlivé řádky si ajaxem tahám detaily řádku a zobrazuji je v jiné tabulce. Mám problém s tím, že když kliknu na řádek poprvé po načtení stránky, tak se ajax zavolá správně jednou, ale při kliknutí znovu se zavolá 2× následně 3× atd..

na řádek mám ajax návázán tímto způsobem:

<tr  data-click-handle='{l}"url":"{link show! $row->id}", "type":"ajax"{r}'>
javascript vypadá takto:

<script>
$(function () {
    $.nette.ext({
        load: function () {
            $('tr[data-click-handle]').click(function (e) {
                var obj = $(this).data('clickHandle');
                if (obj.type == 'ajax' && !$(e.target).hasClass("excluded")) {
                     e.preventDefault();
                    $.nette.ajax({
                        url: obj.url
                    });
                    // ajaxové volanie handle
                } else {
                    //window.location = obj.url;
                   // window.location = $(e.target).href;
                }
            });
        }
    });
    $.nette.init();

});
</script>

a handle takto:
	public function handleShow($id){
	 if ($this->isAjax()) {
		$polozky = $this->dataTableManager->getListWhere("polozka", "zakazka_id", $id);
		$this->template->polozky = $polozky;
		$this->redrawControl('polozky');
		}
	}

Dále potřebuji prvky řadit, mám přidaný link do nadpisů sloupců a po kliknutí na něj volám handle, který vytáhne data z databáze v daném pořadí. To mi funguje, problém nastane, když kliknu na další stránku(ajaxove strankovani), tak se data opět načtou v defaultním pořadí. Stejný problém mám s tím když na nadpis kliknu podruhé, tak chci aby se mi řazení změnilo na opačné. K tomu bych chtěl použít persistentní proměnné, které mi uchovají používané řazení a poslední použitý sloupec pro řazení. Mám je jako proměnné v presenteru, s anotací persistent a měním je v handle funkci, bohužel se mi proměnné neuchovávají.

Budu rád za jakoukoliv radu.

Předem díky.

ondrusu
Člen | 118
+
0
-

Ahoj, vícenásobné volání ajaxu jsem řešil taky zde:
https://forum.nette.org/…ice-requestu

hancs
Člen | 57
+
0
-

Moc díky, mrknu na to.