Dependent form select setDefault
- HWSWDIY
- Člen | 1
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
…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)