Checkboxlist a přidání atributů jako je třeba class nebo data atribut k jednotlivým checkboxům v listu

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

Je nějaká možnost, jak přidat například class nebo data atribut k jednotlivým checkboxům v checkbox listu nebo musím udělat samostatné checkboxy?

$form->addCheckboxList("checkboxes", "Checkboxes", array(
			"1"  => "first",
			"2"   => "second",
			"3"     => "third"
		));

Díky

David Matějka
Moderator | 6445
+
+2
-

pro input to jde pomoci

$form['foo']->controlPrototype->addAttributes(array(
			'data-foo:' => array(
				'1' => 'xxx',
				'2' => 'yyy',
			),
		));

(vsimni si te dvojtecky za nazvem atributu)

teoreticky to jde i pro label jednotlivych checkboxu.

$form['foo']->labelPrototype->addAttributes(array(
			'data-foo:' => array(
				'1' => 'xxx',
				'2' => 'yyy',
			),
		));

Problem je, ze atributy jsou sdilene s hlavnim labelem, u ktereho se pak zobrazi neco jako data-foo:="{...}". Nejlepsi by asi bylo oddelit ty labely, podobne jako to ma radiolist.

simPod
Člen | 383
+
0
-

wow funguje, na to bych asi v zivote neprisel, diky ;)

Matey
Člen | 142
+
0
-

Ahoj, už sa pár hodín trápim s vykreslením checkboxlistu s rôznymi atribútami ale nedarí sa mi to v prípade manuálneho rendrovania. Vedel by niekto poradiť ako na to?. Ďakujem

<?php
//form
$damage = $form->addContainer('damage');
foreach ($this->damages as $key => $value) {
	$chl = $damage->addCheckboxList($key, $value, $this->values);
	$chl->getControlPrototype()->addAttributes(['data-damage:' => [1 => 'two']]);
}
?>
// plne funkčné
{control form}

// nefunkčné
{form form}
	{foreach $form['damage']->components as $id => $container}
		{foreach $container->items as $key => $label}
			{input damage-$id:$key}
		{/foreach}
	{/foreach}
{/form}

automatika to vyrendruje správne, čiže 2 itemu v checkboxliste

data-damage="two"

manuál vyrendruje každému itemu

data-damage:="{"2":"two"}"
enumag
Člen | 2118
+
0
-

@DavidMatějka Díky, tohle mi pomůže vyřešit pár problémů. Akorát asi budu muset poslat PR aby i CheckboxList měl containerPrototype a itemLabelPrototype.

enumag
Člen | 2118
+
0
-

@DavidMatějka Review please. ;-) https://github.com/…orms/pull/92

Matey
Člen | 142
+
0
-

Ak by niekto hľadal odpoveď tak momentálne to manuálne rendrovať nejde.

Riešenie: CheckboxList nepoužiť a zaobísť sa s Containerom a Checkboxom.