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
+
0
-

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
+
0
-

Takto napřímo to asi nepůjde. Pokud není zbytí, udělal bych si vlastní implementaci selectboxu s vlastním getControl().

zoool
Člen | 89
+
0
-

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