SelextBox: setPrompt v Nette 2.0.6
- dodik
- Člen | 10
Po update na Nette 2.0.6 mi zacal trochu haluzit setPrompt.
Uvediem priklad:
$form->addSelect('char2', 'LABEL',
array(
"" => NULL,
1 => 'First',
2 => 'Second',
)
)
->setPrompt('All options');
Vygeneruje HTML:
<select id="frmfilterForm-char2" name="char2">
<option value="">All options</option>
<option selected="selected" value=""></option>
<option value="1">First</option>
<option value="2">Second</option>
</select>
Je to spravanie v poriadku? Nech viem ci si to mam fixnut, alebo to bude v dalsej verzii opravene? :)
- dodik
- Člen | 10
Riadok NULL je len nejaka hovadina z DB.
A ten problem je prave v tom, ze ak je prva hodnota NULL a pred nou je prompt
tak pri nacitani selectboxu nema byt oznaceny ako selected riadok s hodnotou
null, ale ziadny a vtedy by bolo pri nacitani stranky vidiet v selecte „All
options“.
V Predchadzajucej verzii nette to islo v poriadku a hodnotu NULL neoznacovalo ako predvyplnenu. Az po zmene „2012–08–30 (2231f8d): Forms: rewritten SelectBox [Closes #724]“ to takto zacalo vyhodnocovat. Mozno len tato prepisana trieda nekontroluje ci bola set-nuta nejaka hodnota.
- David Grudl
- Nette Core | 8228
Pokud tam tu hodnotu nechceš mít, tak ji ve výčtu neuváděj. Že se nezobrazovala ve <= 2.0.5 je chybou <= 2.0.5.
- dodik
- Člen | 10
David Grudl napsal(a):
Pokud tam tu hodnotu nechceš mít, tak ji ve výčtu neuváděj. Že se nezobrazovala ve <= 2.0.5 je chybou <= 2.0.5.
Jasne, rozumiem. Ja som tu hodnotu odstranil, ale aj tak si nemyslim, ze je spravne pokial oznaci <option> ako selected aj bez toho aby bol formular odoslany, alebo tato hodnota bola nastavena cez setDefaults().
Kazdopadne moj problem som vyriesil a toto bola len taka poznamka :)