select na text
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- filas
- Člen | 2
Zdravím,
hledal jsem ale nenalezl: Jde udělat select s tím, že když vyberu poslední variantu např. jiné – změní se select na text – aby uživatel mohl napsat do chce?
dalo by se to řešit i přes toggle – že odkryji textové pole, nicméně na select už jeden toggle mám a dávat dva asi nejdou, tedy alespoň mě se to nepovedlo:
$form->addSelect('typ_vestavby','Typ vestavby: ', array('typ1','typ2','typ3'))->addRule(Form::FILLED,'Zadejte typ vestavby')
->addCondition(Form::EQUAL, 1)->toggle('sendBox')
->addCondition(Form::EQUAL, 2)->toggle('sendBox2');
$form->addGroup()->setOption('container', Html::el('div')->id('sendBox'));
$form->addText('pocet_ovladacu', 'Počet ovladačů:', 35);
$form->addGroup()->setOption('container', Html::el('div')->id('sendBox2'));
$form->addText('pocet_ovladacu2', 'Počet ovladačů2:', 35);
Editoval filas (14. 4. 2009 14:55)
- Ola
- Člen | 385
A tohle nejede?
$form->addSelect('typ_vestavby','Typ vestavby: ', array('typ1','typ2','typ3'))
->addRule(Form::FILLED,'Zadejte typ vestavby')
->addCondition(Form::EQUAL, 1)->toggle('sendBox');
$form['typ_vestavby']->addCondition(Form::EQUAL, 2)->toggle('sendBox2');
.........
Editoval Ola (14. 4. 2009 16:24)
- _Martin_
- Generous Backer | 679
Na text to změníš jednoduše
$form->addGroup()->setOption('container', Html::el('div')->id('selectContainer'));;
$form->addSelect('typ_vestavby','Typ vestavby: ', array('typ1','typ2','typ3'))
->addRule(Form::FILLED,'Zadejte typ vestavby')
->addCondition(Form::EQUAL, 1)->toggle('textDriversContainer');
$form['typ_vestavby']->addCondition(~Form::EQUAL, 2)->toggle('selectContainer');
$form['typ_vestavby']->addCondition(Form::EQUAL, 2)->toggle('textOtherContainer');
$form->addGroup()->setOption('container', Html::el('div')->id('textDriversContainer'));
$form->addText('pocet_ovladacu', 'Počet ovladačů:', 35);
$form->addGroup()->setOption('container', Html::el('div')->id('textOtherContainer'));
$form->addText('pocet_ovladacu2', 'Jiný:', 35);
Ale probém je, že potom už text nemáš jak změnit na select. Takže bych se takovému řešení raději vyhnul.
Editoval _Martin_ (15. 4. 2009 10:18)