Další atributy u tagu OPTION
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Taco
- Člen | 50
Mám formulář se Selectboxem, a potřeboval bych pro následnou spolupráci s Javascriptem přidat do jednotlivých optionů ještě další informace. Výsledek si představuji nějak takto:
<select name="foo">
<option value="1">Une</option>
<option value="2" data-lang="fr">Deux</option>
<option value="3" data-lang="fr">Trois</option>
<option value="4" data-lang="en">Hi</option>
</select>
Lze to nějak?
Díky za odpověď.
- David Matějka
- Moderator | 6445
zkus:
$lang = array(
2 => 'fr',
3 => 'fr',
4 => 'en',
);
$input->getControlPrototype()->addAttributes(array('data-lang:' => $lang)); //ta dvojtecka je dulezita
- Filip Procházka
- Moderator | 4668
Něco takového by mělo fungovat, možná to půjde ještě zkrátit.
$option = function ($val, $lang = NULL) {
return Html::el('option', ['value' => $val])
->addAttributes($lang ? ['data-lang' => $lang] : []);
};
$select->setItems([
1 => $option(1)->setText('Une'),
2 => $option(2, 'fr')->setText('Deux'),
3 => $option(3, 'fr')->setText('Trois'),
4 => $option(4, 'en')->setText('Hi'),
]);
- David Matějka
- Moderator | 6445
Ajo, uz to vidim.. tenhle zapis jde jen u radiolistu. Ale mozna by se pro to hodila podpora, ze by tam bylo neco jako OptionPrototype :)
- David Matějka
- Moderator | 6445
Neni potreba uvadet nazev elementu ani value, nette to doplni.
Co takhle tam pridat optionProtype (html objekt), jehoz atributy by se mergly
s temito ?