On gists
Ajax dependent selectbox
Nette
Nette-Forms
example.php
Raw
#
<?php
// https://forum.nette.org/cs/27213-dependent-form-select-with-ajax-chyba-please-select-a-valid-option
// https://forum.nette.org/cs/32545-jak-na-vicekrokovy-formular#p207046
protected function createComponentSelectForm($name)
{
$firstItems = [
1 => 'First option 1',
2 => 'First option 2'
];
// Je důležité předávat formuláři $this a $name jinak by nefungovalo níže použité $firstSelect->getValue()
$form = new \Nette\Application\UI\Form($this, $name);
$firstSelect = $form->addSelect('first', 'First select:', $firstItems)
->setPrompt('Select');
$secondItems = [0 => 'Select from first'];
if ($firstSelect->getValue()) {
$secondItems = [
0 => 'Select',
1 => 'First option ' . $value . ' - second option 1',
2 => 'First option ' . $value . ' - second option 2'
];
}
$form->addSelect('second', 'Second select:')
->setItems($secondItems);
$form->addSubmit('send', 'Submit');
$form->onSuccess[] = [$this, 'processSelectForm'];
return $form;
}