Jak změnit hodnotu komponenty B (textbox) na základě změny komponenty A (listbox) v jednom formuláři

milanb
Člen | 58
+
0
-

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

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

CZechBoY
Člen | 3608
+
0
-

Na co vlastne potrebujes (nejspis) tu samou hodnotu ve dvou polich?
Na tohle by asi stejne stacil 1 radek v javascriptu :-)

milanb
Člen | 58
+
0
-

celý form do snippetu, nebo jen ty 2 prvky?
handle metodu si pojmenuju sám, nebo je tam nějaká jako „handleSelectChange<prvek>“?
v jednom poli je fulName, to vyberu, a v druhém poli chci vyplnit na základě toho loginName ⇒ jsou různé

Editoval milanb (3. 11. 2018 10:53)

Ondřej Kubíček
Člen | 494
+
0
-

celý form obal, metodu si pojmenuješ sám jak chceš a samozřejmě ten ajax si taky musíš přidat sám

milanb
Člen | 58
+
0
-

Jasně. Jen se pořád úplně neorientuju. Jak zachytím změnu selectu? Je na to nějaká předdefinovaná metoda nebo syntaxe? Nebo to je ta moje handle metoda? Ztrácím see… Nebyl by odkaz na nějaký example?

Ondřej Kubíček
Člen | 494
+
0
-

to už ale nemá nic společného s nette, to je záležitost javascriptu, klasický onchange event

milanb
Člen | 58
+
0
-

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

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

milanb
Člen | 58
+
0
-

Už to mám, díky moc za pomoc.
(Jak se v tomhle fóru přidá status na [SOLVED]?)