Autor | Zpráva | ||
---|---|---|---|
mafos Profil |
#1 · Zasláno: 21. 6. 2009, 22:52:11
Zdravím,
nejsem moc sběhlý (jako vůbec :-) v javascriptu a tak bych potřeboval pomoc. Potřebuji, aby si uživatel zvolil z jednoho select datum a ve druhém select se mu podle vybraného datumu otevřelo kolik je volných pokojů a on si potom z toho druhého select vybral kolik jich bude požadovat. Údaje jsou uložené v databázi. V čem je můj problém? První select, tedy datum není problém. Vyberu termín a potom bych potřeboval ten druhý select. Pochopil jsem jak funguje funkce OnChange, ale nevím, jak propojit php a javascript aby se mi načetlo to druhé select. Tzn. nevím jak hodnotu z OnChange dostat do PHP. Doufám, že jsem problém vysvětlil. Děkuji za rady. |
||
radas Profil * |
#2 · Zasláno: 22. 6. 2009, 00:01:49
no zkusim to takto vysvětlit
<form action="" method="post" >Řadit dle <select name="datum" onchange="submit()" > <option value="1.1.2009">1.1.2009 </option> </select> </form> a pak pokračovaní scriptu if(isset($_POST['datum']) and $_POST['datum']=="1.1.2009") echo "ukaz nejaky selecet"; elseif (isset($_POST['datum']) and $_POST['datum']=="1.2.2009") echo "ukaz 2 nejaky selecet"; else echo "nic"l; je to srozumitelne? |
||
mafos Profil |
#3 · Zasláno: 22. 6. 2009, 14:51:43
Ahoj,
díky za radu. Ještě jsem se večer díval po netu a našel jsem přesně co jsem potřeboval, takže jsem to už rozchodil. Ještě jednou díky za radu! |
||
Časová prodleva: 3 dny
|
|||
Budulinek Profil |
#4 · Zasláno: 25. 6. 2009, 10:17:16
I když je to už vyřešeno, tak bych jen pro zajímavost doplnil, že efektivnější bude v tomto případě AJAX. Příklad výše funguje, ale zbytečně se musí celá stránka načíst znovu. Navíc to řešení s podmínkami (if() ) je dosti žalostné. Vypisovat ručně takovéto podmínky je zhovadilost (obzvláště u data, které je dynamické). Sice by se to dalo prohnat cyklem, ale přijde mi to zbytečné. Lepší by asi bylo načítat přes AJAX z DB jen záznamy, které odpovídají hodnotám v jednotlivých optionech. Je to jednak uživatelsky příjemnější, efektivnější a ani to tolik nezatěžuje aplikaci, protože načítáš jen to, co skutečně potřebuješ...
|
||
Časová prodleva: 15 let
|
0