Toggle pro více než 2 skupiny ve formuláři
- Jendaaa
- Člen | 21
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
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
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