Jak mohu v latte zmenit vychozi hodnotu formularoveho pole – roletky?

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

Jak mohu v latte zmenit vychozi hodnotu formularoveho pole – roletky ?

Pokud mam definovano textove pole je to snadne, staci jen v latte zapsat {input textovePole1 value=>‚nova hodnota‘}

jak tehoz dosahnu v pripade ze nejde o textove pole ale roletku ? Dekuji.

Šaman
Člen | 2666
+
0
-

Mělo by to fungovat stejně, jen musíš jako value zadat jednu z hodnot, kterou selectbox nabízí (klíč, ne popisek).

Oli
Člen | 1215
+
+3
-

Tyhle věci nastavuj v presenteru/komponente. Bude to na jednom místě a když se rozhodnes renderovat dynamicky, bude ti to porad fungovat. Tam to uděláš jako setValue(1). Pokud mas ciselny klice…

zac24
Člen | 41
+
0
-

Šamane, i když zadám existující hodnotu stane se pouze toto <select value=„10“> tedy neni nastaven selected=„selected“ atribut u prislusne <option value=„10“>

Oli, ano máš pravdu, takto by to být mělo. Bohužel rozsáhlý formulář už je zpracován tímto způsobem, výchozí hodnoty si bere z hodnoty ->templates->vychoziData a já v něm vlastně potřebuji udělat jen drobnou úpravu a bylo by časově neefektivní kvůli ní přepracovávat víc kódu než je nutné.

zac24
Člen | 41
+
+1
-

vim ze to neni na velke chlubeni a pokud neresite casovou tisen drzte se rady kterou psal vyse Oli. ale priradil jsem hodnotu do atributu data-value <select name=„xxx“ data-value=„10“> a nasledne javascriptem hodnotou nastavil vychozi vybrany radek, coz uz pro jquery byla otazka jednoradkoveho kodu v cyklu. $this.val(this.data(‚value‘)) …

Editoval zac24 (29. 4. 2016 10:32)

Šaman
Člen | 2666
+
0
-

Sorry, tak to value u selectu funguje jen v JS frameworkách, třeba v Reactu. V situaci, kterou popisuješ je myslím využití JS zcela na místě.