Nastavení id položce radioListu

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

Dobrý den,
snažím se nastavit vlastní id pro každou položku radioListu.
Pokoučel jsem se o to takto:

<?php
foreach($form['radiolist']->items as $item){
$item->setHtmlId('moje-id');
}
?>

což ale k úspěchu nevedlo…
Je tady nějaká možnost jak to provést?
Předem děkuji za radu.

mcmatak
Člen | 490
+
0
-
  1. items jsou pokud se nepletu pouze datovy array lsit neobsahuji zadne objekty, tedy tudy to nepujde,
  2. getControl(id) vede opět pouze k vygenerovani stringu a ne objektu, takže se domnívám, že to nejde, jedině vlastní úpravou controleru

už vícekrát mi tohle vadilo, a přijde mi to jako velký nedostatek

Nilp
Člen | 65
+
0
-

Pole items může obsahovat i Html elementy:

$sex = array(
    'm' => Html::el('option', 'male')->style('color: #248bd3'),
    'f' => Html::el('option', 'female')->style('color: #e948d4'),
);
taypan
Člen | 11
+
0
-

To ano, ale já potřebuji nastavit id přímo pro input radiolistu. Takto ho nastavím pouze elementu vnořenému do inputu.

Nilp
Člen | 65
+
0
-

Nechápu.

taypan
Člen | 11
+
0
-

Nilp napsal(a):

Nechápu.

Pokud nastavim jako items radiolistu nejaky html element tak to bude vypadat nasledovne:

<?php
<input type="radio" name="radiolist" id="idKteryChciZmenit" value="4" />
<label for="idKteryChciZmenit"><element id="id-elementu">Obsah elementu</element></label>
?>

(omnlouvám se, že je to formatovane jako php ale nejak jsem to do code nedostal)

Cílem hry je ovšem změnit id samotnému inputu. Líp už to vysvětlit asi neumím.

Nilp
Člen | 65
+
0
-

Ah, chápu, jasně. RadioList nastavuje inputům automaticky ID ze setHtmlId() (nebo default) s iterátorem (mojeid-1, mojeid-2). Můžeš si ale nechat vrátit vždy jeden „řádek“ RadioListu přes getControl('klic') a pak mu ID nastavit zvlášť.

Editoval Nilp (1. 9. 2010 20:39)

mcmatak
Člen | 490
+
0
-

obávám se že to nepůjde nastavit zvlášť, getControl jak jsem již psal vrací string ne objekt nebo něco čemu by se dalo nastavit id

Nilp
Člen | 65
+
0
-

A jo :) Takže nic, pardon.