Jak nastavit checked u Checkboxlist

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

Prosím nemůžu přijít na to, jak nastavit u některých položek z Checkboxlist, že jsou vybrané. Tady je sice popsané nastavení výchozích hodnot: https://doc.nette.org/cs/forms#… , ale nevím, jak to udělat u checkboxlistu:

  foreach ($data as $item){

                $pole[$item->id] = $item->name;
            }
$form->addCheckboxList('menu_'.$item->id, $item->name, $pole);

Editoval iru (6. 7. 2015 18:39)

Lukeluha
Člen | 130
+
+1
-

Vytvoř pole, které bude v sobě obsahovat idčka itemů, které jsou vybrané a potom jen $form['tvujCheckboxList']->setValues($array); nebo $form->setDefaults(array('tvujCheckboxList' => $array));

P.S. tomu tvému kódu úplně nerozumím, proč dáváš jméno toho inputu dle posledního itemu v té kolekci? Navíc, pokud ta proměnná $data je z DB a používáš Nette\Database nebo Doctrine, tak se podívej na metodu fetchPairs()

Editoval Lukeluha (6. 7. 2015 19:56)

iru
Člen | 110
+
0
-

Objevila jsem před chvílí toto: https://github.com/…CheckboxList

je to vlastně to co píšeš @Lukeluha a zrovna mi dáváš vysvětlení proč mi to nefunguje, protože to $item->id se mi tam dostalo omylem a já se na ten input odkazuju jen ‚menu‘

Unlink
Člen | 298
+
0
-

@iru pokiaľ máš aktuálne nette (2.3.x) tak hento nepotrebuješ, checkboxlist je už priamo v nette

Lukeluha
Člen | 130
+
0
-

No on to je jen nějaký addon na CheckboxList z roku 2012 (v té době nejspíš ještě Nette v sobě oficiálně CheckboxList nemělo). V současné době již je a jak se na to tak dívám, tak jsem ti to napsal špatně. Příspěvek jsem editovat, aby to už sedělo :)

iru
Člen | 110
+
+1
-

@Unlink toto je starší projekt, tady mám nette 2.1

@Lukeluha děkuji, super tohle mi funguje, jak jednoduché :-)

$form->addCheckboxList('menu', $item->name, $pole);
 $form->setDefaults(array('menu' => $values));
Lukeluha
Člen | 130
+
0
-

Ve verzi 2.1.x je již také

iru
Člen | 110
+
0
-

@Lukeluha super, díky :-)