Změna atributu disabled na základě addConditionOn()
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- visitor
 - Člen | 22
 
Potřeboval bych při vypsání formuláře mít checkbox disabled a při vybrání určité položky v selectboxu tento checkbox enablovat. Dá se to bez pomocí JS? Kde by to mohlo vypadat cca takto:
<?php
$form->addSelect('id_typ', 'Kategorie článku:', array('' => 'Vyber kategorii', 1 => 'Aktuality', 2 => 'Připravujeme', 3 => 'Proběhlo'))
             ->getControlPrototype()->onchange('enablujChB(this.value);');
?>
Já bych raději nechtěl zanášet další vazby na JS, u kterých bych musel hlídat případné změny.
<?php
$form->addSelect('id_typ', 'Kategorie článku:', array('' => 'Vyber kategorii', 1 => 'Aktuality', 2 => 'Připravujeme', 3 => 'Proběhlo'))
	->skipFirst()
	->addRule(Form::FILLED, 'Je třeba vybrat kategorii.');
$form->addCheckbox('prihlaseni', 'Povolit přihlášení k akci:')
	->setDisabled()
	->addConditionOn($form['id_typ'], Form::EQUAL, 2)
		->setDisabled(FALSE);
?>
				
- David Grudl
 - Nette Core | 8285
 
V tuto chvíli to řešit nejde, ale je v plánu něco takového (za použití vlastního JS) umožnit.