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