Jak změnit hodnotu komponenty B (textbox) na základě změny komponenty A (listbox) v jednom formuláři
- milanb
- Člen | 64
Ahoj, jsem v Nette/Latte úplný panic a řeším toto:
Mám jeden formulář (v jendom presenteru) a v něm select box (list box,
addSelect
) a textové pole (addText
). A potřebuju
při změně výběru v listboxu na základě nově vybrané hodnoty naplnit
textbox. Přesněji: V listboxu vyberu usera a v textboxu naplním jeho
login.
Už jsem dlouho googloval, ale asi je to tak triviální, že se tím nikdo
netrápí, pokud má dost znalostí Nette. A ty já zjevně (zatím) nemám :-)
Hledal jsem něco kolem signálů apod.
Díky moc za pomoc.
- Ondřej Kubíček
- Člen | 494
ve zkratce zhruba takto:
obalíš ten form do snippetu, při změně selectu zavoláš ajax na nějakou
handle metodu, v ní nastavíš tomu inputu value a překřeslíš snippet
- Ondřej Kubíček
- Člen | 494
celý form obal, metodu si pojmenuješ sám jak chceš a samozřejmě ten ajax si taky musíš přidat sám
- Ondřej Kubíček
- Člen | 494
to už ale nemá nic společného s nette, to je záležitost javascriptu,
klasický onchange
event
- milanb
- Člen | 64
A nemůžu vytvořit v presenteru metodu handleUserlist($userid), která se
zavolá, když něco vyberu v tom listboxu?
Nebo to jde jen pro form?
Našel jsem v diskusích: https://forum.nette.org/…jax-onchange
Mohlo by mi to pomoct?
Editoval milanb (3. 11. 2018 16:39)
- Ondřej Kubíček
- Člen | 494
musíš vytvořit metodu v presenteru, šak jsem to psal v prvním komentáři, ale volání ajaxu už si udělat sám, tak jak je ten příklad v té diskuzi cos našel