Nastavení title do selectu
- westrem
- Člen | 398
No, len tak zo zvedavosti, k comu to potrebujes? U
<option>
tagu som dosial nikdy nemal potrebu nastavovat
title
atribut.
Riesenie je vsak jednoduche, maj $items
v tejto podobe:
$items = array(
'value_1' => Html::el('option')->setText('your text')->title('your desired title'),
'value_2' => Html::el('option')->setText('your text')->title('your desired title'),
..
);
- westrem
- Člen | 398
redhead napsal
Ono ked tomu podstrcis uz priamo Html object tak nie, vid API, preto je nutne aby si value nastavil rucne.
wise napsal
Tam nie je ziadny zoznam metod, trieda Html ma napisane intuitivne
pretazovanie, takze mozes pouzivat metody ako addAttr
alebo
setAttr
, kde Attr
nahrad za original nazov atributu.
Malo by vsak fungovat aj normalne napr ->value('value')
, neviem
preco ti to nefungovalo.
- Podbor
- Člen | 19
Řeším podobný problém. Potřebuji si při vytváření selectu
u některých „option“ nastavit třídu na „deleted“, abych věděl,
že se jedná o smazané prvky a následně pak dle toho přes JS změnil text
tlačítka a následné zpracování.
Zkoušel jsem návod, který tu napsal westrem, ale po
odeslání formuláře má daný Select hodnotu NULL. Tuší někdo, proč by to
tak mohlo být ? Už se s tím peru přes 2 hodiny, ale stále se mi
nepodařilo zjistit, kde je chyba.
Edit:
Chyba byla (opět) na mojí straně, nenastavoval jsem jednotlivým prvkům
option hodnotu „value“, to se to pak těžko dělá… Jen pro případ, že
by byl někdo ve stejné situaci.
Editoval Podbor (1. 5. 2011 16:09)
- ony2
- Člen | 9
Neviete mi poradit preco ked si vytvorim select v tovarnicke formularu tymto sposobom:
$items = array(
Html::el('option')->setText('enabled.gif')->title('/images/ddicons/enabled.gif')->value('enabled.gif'),
Html::el('option')->setText('icon_faq.gif')->title('/images/ddicons/icon_faq.gif')->value('icon_faq.gif'),
Html::el('option')->setText('icon_music.gif')->title('/images/ddicons/icon_music.gif')->value('icon_music.gif')
);
$el = $form->addSelect('image', 'Obrázok odkazu', $items);
tak po naplneni formulara cez $form->setDefaults nemam oznaceny ako selected ziadny select. Uz som skusal uplne vsetko, do formSubmitted som si dal aby rucne tomu elementu nastavil value, skusal som selected pridat priamo do toho pola $items k jednotlivym elementom a nechapem preco nie je mozne ziadny nastavit na selected. Ma niekto nejaky napad?
- uestla
- Backer | 799
Tak se pochlub, jak to $form->setDefaults
voláš… Klíče
těch jednotlivých <option>
ů jsou čísla, takže by mohlo
fungovat
$form->addSelect('image', 'Obrázok odkazu', $items)
->setDefaultValue(0); // pro první položku
resp.
$form->addSelect('image', 'Obrázok odkazu', $items);
$form->setDefaults(array(
'image' => 0,
));
- _Martin_
- Generous Backer | 679
@ony2: Jakou hodnotu předáváš do
setDefaults
? Položky v select boxu fungují jako páry
„hodnota“ ⇒ „popis“. Pravděpodobně bys měl ve svém příkladě
nastavovat výchozí hodnoty [0,1,2]
a nebo změnit
definici na:
$items = array(
'enabled.gif' => Html::el('option')->setText('enabled.gif')->title('/images/ddicons/enabled.gif')->value('enabled.gif'),
'icon_faq.gif' => Html::el('option')->setText('icon_faq.gif')->title('/images/ddicons/icon_faq.gif')->value('icon_faq.gif'),
'icon_music.gif' => Html::el('option')->setText('icon_music.gif')->title('/images/ddicons/icon_music.gif')->value('icon_music.gif'),
);
$el = $form->addSelect('image', 'Obrázok odkazu', $items);
- Filip Procházka
- Moderator | 4668
setDefaults
a setDefaultValue
se používá na
označení jedné z položek, které jsi selectu již nastavil.
$form->addSelect('image', 'Obrázok odkazu', array(
'enabled.gif' => Html::el('option')->setText('enabled.gif')->title('/images/ddicons/enabled.gif')->value('enabled.gif'),
'icon_faq.gif' => Html::el('option')->setText('icon_faq.gif')->title('/images/ddicons/icon_faq.gif')->value('icon_faq.gif'),
'icon_music.gif' => Html::el('option')->setText('icon_music.gif')->title('/images/ddicons/icon_music.gif')->value('icon_music.gif'),
))
->setDefaultValue('enabled.gif');