addCheckbox – jak po onClicku na checkbox zobrazit vstupní pole neco jako „addText“
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- duke
- Člen | 650
Buď můžeš použít metodu toggle
, nebo si to odkrývání
pořešit sám přes css a javascript.
Příklad s toggle:
$form->addCheckbox('set_password', 'set new password')
->addCondition($form::EQUAL, TRUE)
->toggle('newPassword');
$form->addGroup()
->setOption('container', Html::el('div')->id('newPassword'));
$form->addPassword('password', 'Password')
->addConditionOn($form['set_password'], $form::EQUAL, TRUE)
->addRule($form::FILLED, 'Provide password.')
->addRule($form::MIN_LENGTH, 'The password must have at least %d letters.', 8);
- ZAJDAN
- Člen | 45
DÍKY MOC
$$form->addGroup()
->setOption('container', Html::el('div')->id('timeOpen'));
$form->addCheckbox('pondeli', 'Pondělí:')
->addCondition($form::EQUAL, TRUE)
->toggle('timeOpen');
......
$form->addText('time', 'time')
->addConditionOn($form['pondeli'], $form::EQUAL, TRUE);
....
jen je problém že addText time se mi vykresli i když Checkbox pondeli neni oznacen(vybrán)
Editoval ZAJDAN (12. 3. 2012 18:48)
- duke
- Člen | 650
Ten řádek
->addConditionOn($form['pondeli'], $form::EQUAL, TRUE);
… má smysl jen pokud za ním následují nějaká pravidla přidaná přes
addRule
. Jde o to, aby se ta případná pravidla aplikovala jen
v případě, že je ten input zobrazen. Čili pokud tam žádná pravidla
nemáš (jako ve tvém příkladě), tak ho úplně vyhoď.