Manuální vykreslení a toggle
- divispet
- Člen | 29
Ahoj,
potreboval bych poradit s maualne vykreslovanym formularem a toggle funkci. Stejny form je na strance nekolikrat takze ho tvorim pres multiplier. Zkousel jsem to uz nekolika cestama ale zatim bez uspechu. Toggle proste „nereaguje“.
addAttribute do Radiolistu ktery chci togglovat problem neresi
/* pokud je hodnota 3, skryj radio CONTROL_NAME */
$form->addRadioList('types', null, $types)
->addCondition($form::NUMERIC, 3)
->toggle('CONTROL_NAME'.$id);
$form->addRadioList('CONTROL_NAME', null, array(...));
<div class="col-md-4 col-12 my-auto">
<div id="CONTROL_NAME{$id}" class="btn-group btn-group-toggle mb-2" data-toggle="buttons">
{foreach $form["CONTROL_NAME"]->items as $key => $label}
<label n:name="CONTROL_NAME:$key" n:class="btn, btn-outline-dark, border-none, rounded">
...
<input n:name="CONTROL_NAME:$key">
</label>
{/foreach}
</div>
</div>
Editoval divispet (25. 2. 2020 8:21)
- divispet
- Člen | 29
Udělal jsem malý test a funguje jak má. Takže s největší pravděpodobností bude problém souviset s manuálním vykreslováním těch radiolistů…
do formuláře jsem přidal
$form->addRadioList('t1', null, array(1=>1, 2=>2))
->addCondition($form::EQUAL, 2)
->toggle('t2');
$form->addRadioList('t2', null, array(1=>1, 2=>2));
a do latte
{input t1}
<div id="t2">
{input t2}
</div>
UPDATE:
Přijde mi divné že když vypíšu input nemanuálně je jeho HTML výstup na
prvím řádku a toggle funguje.
Pokud vypíšu input manuálně je výstup na druhém řádku a toggle
NEfunguje
Nevím jestli to může mít vliv, ale při nemanualním renderu je DATA-NETTE-RULES jen u prvního input elementu zatímco u manuálního je DATA-NETTE-RULES u všech input elemntů
<label>
<input type="radio" name="t1" value="2" data-nette-rules="[{"op":":equal","rules":[],"control":"t1","toggle":{"rounds16":false},"arg":2}]">
VALUE 2
</label>
<label class="btn btn-outline-dark border-none rounded" for="frm-...-2">
<img src="/images/icons/VALUE2.png" class="img-fluid img-thumbnail rounded-circle">
<input type="radio" name="resulttypeId" id="frm-...-2"
data-nette-rules="[{"op":":equal","rules":[],"control":"resulttypeId","toggle":{"rounds16":true},"arg":2}]"
value="2">
</label>
Editoval divispet (25. 2. 2020 14:19)