RadioList – pristup k labelom jednotlivych poloziek
- srobowak
- Člen | 27
Zdravim, ked dam vykreslit RadioList, dostanem standarnde nieco taketo:
<input type="radio" name="itemNumber" id="frmSomeForm-itemNumber-0" value="1" />
<label for="frmSomeForm-itemNumber-0">First item</label><br />
<input type="radio" name="itemNumber" id="frmSomeForm-itemNumber-1" value="2" />
<label for="frmSomeForm-itemNumber-1">Second item</label><br />
Ja by som potreboval ziskat pristup k labelom, ktore prisluchaju jednotlivym polozkam tak, aby som im mohol nastavit atributy (napr. class). Cize nieco taketo:
<input type="radio" name="itemNumber" id="frmSomeForm-itemNumber-0" value="1" />
<label for="frmSomeForm-itemNumber-0" class="radio-item">First item</label><br />
<input type="radio" name="itemNumber" id="frmSomeForm-itemNumber-1" value="2" />
<label for="frmSomeForm-itemNumber-1" class="radio-item">Second item</label><br />
Vdaka za rady.
- Matúš Matula
- Člen | 257
Je toto uz nejako vyriesene v aktualnej verzii alebo treba pouzit workaround ako pise @srobowak ?
Edit: ciastocne to riesi manual render https://forum.nette.org/…checkboxlist
Editoval Matúš Matula (18. 1. 2013 12:00)
- Oli
- Člen | 1215
Jde to už nějak ve verzi 2.1.x?
Mám teď něco jako:
$gender = $form->addRadioList('gender', 'Pohlaví', ['F' => 'Žena', 'M' => 'Muž', 'N' => 'Nechci uvést']);
$gender->getSeparatorPrototype()->setName(null);
$gender->getLabelPrototype()->class[] = 'radiolabel';
Což je skoro to co potřebuju, teď bych jen potřeboval aby se to negenerovalo pro ten hlavní label. Výsledek by měl vypadat zhruba takhle:
<label>Pohlaví</label>
<label class="radiolabel"><input type="radio" name="gender" value="f">Žena</label>
<label class="radiolabel"><input type="radio" name="gender" value="m">Muž</label>
<label class="radiolabel"><input type="radio" name="gender" value="n" checked="checked">Nechci uvést</label>
Mě to ale vygeneruje i v tom label pro Pohlaví
<label class="radiolabel">Pohlaví</label>
- Oli
- Člen | 1215
Tak ve verzi 2.3 to jde takhle. Možná to jde i ve dřívějších verzích, už si ani nepamatuju, kdy se přidali n:name makra, je to davno :-)
<label>Pohlaví</label>
{foreach $form[gender]->items as $key => $label}
<input n:name="gender:$key"><label n:name="gender:$key" class="radiolabel">{$label}</label>
{/foreach}