Dependent form select setDefault

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

Jsem v Nette začátečník a s Ajaxem teprv začínám a tak prosím o radu zkušenější.

Povedlo se mi rozjet dependent selectBox podle návodu dependent form select a vše funguje docela dobře až do sitace, kdy potřebuju položku předvyplnit.
Když v presenteru zadám tomu závislému select boxu setItems a pak setValue nebo setDefaultValue položka se objeví předvyplněná, ale po změně prvního selectu se již druhý nenaplní novými údaji z metody handle, ale pořád vrátí na přednastavenou hodnotu. Jakým způsobem je tohle možné vyřešit?

Díky.

SvvimX
Člen | 65
+
0
-

…toto není dobrá odpověď…
dá se to občas obejít tak, že před setDefaults přidáš v presenteru podmínku

if ( $this -> isAjax() )
  $form -> setDefaults ( [] );

protože většinou ten formulář naplňuješ, když uživatel přijde na stránku a měníš ho ajaxem, tzn když jde o ajax, nechceš už dělat setDefaults. Problém ale nastane, když i ten formulář taháš ajaxem – což teď dělám já. Takže toto není dobrá odpověď, proto to píšu jen jako koment :-)

Životní cyklus presenteru je actionMetoda, handleMetoda, renderMetoda – takže když dáš setDefaults do metody action, tak handle ho potom přebije, takže pak funguje ajaxová změna selectu. Ale po odeslání – se mi už handle logicky nezavolá, takže se mi vrací nějaký paskvil.

Editoval SvvimX (14. 10. 2014 12:23)