Jak vlozit dalsi html atributy v select boxu do OPTION

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

Ahoj,
nevite nekdo jak mohu pridat atributy do tagu option v select boxu aby byl vysledek nasledovny?
<option class="sub_new" value="new_mink" data-price="600">

V manualnim vykreslovani pomoci makra to nedam, protoze v sablone mam akorat {input type}

Presenter:

<?php
$type = array(
        "typ_1" => "Typ 1"
    );
$form->addSelect('type', 'Typ', $type);
?>

Diky!

Prozatim to tam cpu pres javascript, pokud v Nette tato moznost neexistuje.

Editoval dotTwelve (5. 10. 2012 14:51)

h4kuna
Backer | 740
+
+1
-

Funkční ukázka

<?php
$id = 7;
$value = 'new_mink';
$type = array(
    $id => \Nette\Utils\Html::el('option')->value($id)->setText($value)->addAttributes(array('class' => 'sub_new', 'data-price' => 600))
);

echo $type[$id];
?>

$id je potřeba si sám vložit jako atribut value a zároveň ho mít jako klíč v poli.

22
Člen | 1478
+
0
-
<option class="sub_new" value="new_mink" data-price="600">

K čemu je to prosim v praxi dobré? Nedá se to udělat nějak tradičně? K čemu je tam dobrý data atribut? A proč má option vlastní class? Nestačí nadřazený class selectu?

dotTwelve
Člen | 167
+
0
-

data-price pouzivam potom k pocitani celkove ceny z vice select boxu, tak jsem pouzil tento atribut no a class je tam kvuli tomu, ze mam dva na sobe zavisle selectboxy, v prvnim vyberu neco a ve druhem se mi zobrazi pouze urcite options

22
Člen | 1478
+
0
-

já bych na to šel teda asi jinak, ty ceny bych si nasypal jako pole do data atributu elementu select a pak si podle vybranych spočítal cenu z toho pole, a závisle selectboxy můžeš přece plnit podle value toho předcházejícíh selectu. a nepotřebuješ tam dělat takové věci v option elementu…