RadioList , vícenásobná podmínka
- smarek
- Člen | 9
Zdravím,
už se dlouho snažím naprogramovat v Nette+Dibi aplikaci pro objednávku služeb. Služby beru z databáze , tabulky package a pomocí cyklu bych je potřeboval dostat do formuláře jako RadioList.
foreach($balicky as $b){
$html = self::getHtmlDesc($b["describe"]);
$f->addGroup($b["label"])->setOption('embedNext', TRUE);
$f->addCheckbox("pkg_".$b["id"],$b["label"]. " (" . self::cena($b["price"]) . " )")->addCondition(Form::EQUAL, TRUE)->toggle('tog_'.$b["id"]);
$f->addGroup()->setOption('container', Html::el('div')->id('tog_'.$b["id"]))->setOption('description',Html::el('div')->setHtml($html));
$f->addHidden('r_'.rand(),'v_'.rand());
}
Tohle je způsob jakým data dostanu do formuláře ale bez podmínek, všeho
ostatního a jako Checkboxy.
Zobrazí se vždycky skupina nadepsaná jako balíček služeb, v ní checkbox
který javascriptově toggluje podskupinu ve které je grafický popis balíčku
služeb (tj. proměnná $html)
Potřeboval bych něco na způsob tohodle:
$f->addGroup('Balíčky');
$f->addRadioList('pkg', '', $radiolist)
->addCondition(Form::EQUAL,array("pkg_1"))->toggle("pkg_1")
->addCondition(Form::EQUAL,array("pkg_2"))->toggle("pkg_2")
->addCondition(Form::EQUAL,array("pkg_3"))->toggle("pkg_3")
->addCondition(Form::EQUAL,array("pkg_4"))->toggle("pkg_4")
->addCondition(Form::EQUAL,array("pkg_5"))->toggle("pkg_5")
->addCondition(Form::EQUAL,array("pkg_6"))->toggle("pkg_6")
->addCondition(Form::EQUAL,array("pkg_7"))->toggle("pkg_7");
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_1'))->setOption('description','popsi pro skupinu 1');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
Jenže tady mi kód zase nefunguje, vícenásobná podmínka na položky
RadioListu se proste neaplikuje nebo já nevím…
Omlouvám se za ten prasácký kód, ale snažím se vám co nejlépe
přiblížit moji situaci.
Mohl by mě prosím někdo posunout správným směrem?
Děkuji
BTW: používám poslední, tj. 0.9 verzi Nette a stejně tak ke dnešku staženou verzi dibi
- smarek
- Člen | 9
j, díky, to pomohlo.
Teď už jenom aby se brzo implementovala funkce invalidace dat při ~toggle(parentFormGroup) (https://forum.nette.org/…le-i-na-data) a budu mit pocit že se blížíme k dokonalosti :)