Pridatie attributu pre <option> v addSelect controle

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

Ahojte,

Je mozne nejakym sposobom pridat attribut pre option v select boxe?

Mam vytvoreny component

$cont->addSelect('skola_id','Institution',array(""=>"")+$skoly)->setAttribute('style','width:150px;');;

a potrebujem dosiahnut, aby jednotlive options mali dalsi atribut (v tomto pripade „label“) nasledovne:

<select ...>
	<option value="123" label="<strong>Nieco</strong><br/>popis niecoho">Nieco</option>
</select>

Generujem trochu nastylovany selectbox cez jquery.sb a nejako neviem najst cestu ako tam ten atribut dostat inak ako javascriptom az po vykresleni komponentu onLoad..

Dakujem!

bojovyletoun
Člen | 667
+
0
-

pročti si celé Formuláře ,pak tohle http://blog.pepa.info/…-your-forms/
,array(""=>"") vypadá pozedřele → není lepší použít Nette\Forms\Controls\SelectBox::setPrompt()?

addattribute: https://forum.nette.org/…mu-formulari#…

chceš li dát label html použij
$form->addCheckBox(Nette\Utils\Html::el('b')->...

grongor
Člen | 31
+
0
-

jestli je to na stejném principu jako RadioList, tak to nejde … tady je odkaz na můj upravený RadioList, můžes si z toho udělat ten select.

https://gist.github.com/1237299

freespirit
Člen | 7
+
-1
-

dakujem za tipy, nakoniec som to poriesil mensim workaroundom, preiteroval som pole ktore predavam selectu nasledovne:

foreach(...){
	$skolyfinal[$sid]=Html::el('option')->label('<strong>'.$val.'</strong><br><ul>'.$odb.'</ul>')->setText($val)->value($sid);
}

Editoval freespirit (23. 9. 2011 16:59)