Jak se dostanu do nastavení optionu u select boxu?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- zoool
- Člen | 89
Ahoj chtěl bych se zeptat potřebuju se nějak dostat do nastavení optionu u select boxu. Přiblížím mám kod
$form->addSelect('doprava_id','Doprava:',$this->model->getDoprava()->fetchPairs('id','nazev'))
->setPrompt('-prosím vyberte-');
a potřebuju u každého select boxu přidat data-adresa=‚adresa‘,
zkoušel jsem to všelijak
třeba takto
foreach($this->model->getDoprava()->fetchPairs('id','nazev') as $key => $hodnota)
{
$el = \Nette\Utils\Html::el('option')->value($key)->setHtml($hodnota)->data(array('adresa' => $this->link('zmenDopravu!',$key)));
if($key == $data->doprava_id)
$el->attrs = array( "selected" => true);
$arr[] = $el;
}
pak
$form->addSelect('doprava_id','Doprava:',$arr)
->setPrompt('-prosím vyberte-');
chtěl bych to spíše přes tuto funkci
$form['doprava_id']->getControlPrototype()->html(array('id'=>'idecko'));
ale nevím jak se dostat do jednotlivých optionu
- Ot@s
- Backer | 476
Takto napřímo to asi nepůjde. Pokud není zbytí, udělal bych si vlastní implementaci selectboxu s vlastním getControl().
- zoool
- Člen | 89
Tak jsem na to přišel tady je kod
foreach($this->model->getDoprava()->fetchPairs('id','nazev') as $key => $hodnota)
{
$el = \Nette\Utils\Html::el('option')->value($key)->setText($hodnota)->data(array('adresa' => $this->link('zmenDopravu!',$key)));
if($key == $data->doprava_id)
$el->selected(TRUE);
$arr[$key] = $el;
}
$form->addSelect('doprava_id','Doprava:',$arr)
->setPrompt('-prosím vyberte-');
a funguje i nastavení default, zatím děkuji