Formulář, Select – událost onChange přesměrování (Nette v. 2.0)
- Prochy
- Člen | 91
Zdravim, chci se zeptat, potřeboval bych dát událost onChange na Select,
že při změně hodnoty selectu, se mi stránka přesměruje na stejnou
stránku a předá parametr stránce vybranýho selectu.
Mám následující:
$form->addSelect(,,$hodnoty)
A nevim jak vytvořit ten link pro to přesměrování. Zkoušel jsem následující:
$form['id']->setAttribute('onChange','window.location.href="'.$this->link('this',array('id'=>$hodnoty.'"'));
Ale nevim, jak zvolit aby se pro zadanou položku nastavit správné hodnoty
z pole, který sou i současně naplněný selectem.
Nebo jestli je nějaké lepší řešení, tak se nebudu zlobit děkuji.
Děkuji za každou odpověď zkoušel
Editoval Prochy (12. 3. 2012 19:11)
- frosty22
- Člen | 373
Toto bych neřešil vůbec formulářem přes nette, ale jen čistě selectem, čili v HTML:
<select onchange="goto(this, '{plink this}')">
{foreach $values as $id => $value}
<option value="{$id}">{$value}</option>
{/foreach}
</select>
a v javascriptu něco jako (v jquery bych věděl, ale čistě JS už moc nepamatuji :D):
<script type="text/javascript">
function goto(select, url) {
var value = select.options[select.selectedIndex].value;
window.location.href= url + '?id=' + value;
}
</script>
Ten JS asi bude špatně, je to jen nástřel a hlavně tedy tam není ošetřené, to skládání URL, zdali už neobsahuje query string, atd.