Toggle pro více než 2 skupiny ve formuláři

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jendaaa
Člen | 21
+
0
-

Ahoj, snažím se pomocí toggle přepínat mezi třemi skupinami inputů. Viz kód:

<?php
		$this->addSelect('rozhodnuto', 'Rozhodnuto', $rozhodnuto)
			->addCondition(Form::EQUAL, 1)
				->toggle('RO');

		$this->addGroup()->setOption('container', Html::el('fieldset')->id("RO"));
		$this->addSelect('typ', '', $typ)
			->addCondition(Form::EQUAL, 0)->toggle('FAK')->endCondition()
			->addCondition(Form::EQUAL, 1)->toggle('SML')->endCondition()
			->addCondition(Form::EQUAL, 2)->toggle('SME')->endCondition();

		$this->addGroup()->setOption('container', Html::el('div')->id("FAK"));
		$this->addText('cisloFaktury', 'Číslo faktury');
		$this->addDatePicker('fakturaZeDne', "Ze dne");

		$this->addGroup()->setOption('container', Html::el('div')->id("SML"));
		$this->addText('cisloSmlouvy', 'Číslo smlouvy');
		$this->addDatePicker('smlouvaUzavrenaDne', 'Uzavřena dne');
		$this->addText('typSmlouvy', 'TypSmlouvy');

		$this->addGroup()->setOption('container', Html::el('div')->id("SME"));
		$this->addText('cisloSmenky', 'Číslo směnky');
		$this->addDatePicker('smenkaZeDne', "Ze dne");
?>

Lze to nějak vyřešit? Vždy se mi skrejou jenom dvě ze tří podskupin, když má být celá skupina RO schovaná.
Dík =)

Tomáš Votruba
Moderator | 1114
+
0
-

Zkus si projít toto info k toggle, případně zkus nastavit skrytí u všech skupin:

$form->addGroup()->setOption('container', Html::el('div')->id("FAK")->style("display:none"));

Pokud to nepomůže, dej vědět.

Jendaaa
Člen | 21
+
0
-

Schmutzka napsal(a):

Zkus si projít toto info k toggle, případně zkus nastavit skrytí u všech skupin:

$form->addGroup()->setOption('container', Html::el('div')->id("FAK")->style("display:none"));

Pokud to nepomůže, dej vědět.

Info jsem prošel právě už několikrát, jestli mi něco neuteklo. Vnořené toggly tam jsou trochu chaotické, proto píšu sem. Nastavení display:none jsem zkoušel též, taky bez úspěchu.

Nicméně mě teď napadlo, že problém bude pravděpodobně v defaultně nastavené hodnotě skrytého select boxu, který je nastaven na první prvek → takže ho i zobrazuje. SkipFirst() to řeší.

Dík