Autor | Zpráva | ||
---|---|---|---|
Pavel Kr. Profil * |
#1 · Zasláno: 14. 2. 2011, 09:28:46
Dobrý den,
mám rozdělaný formulář pro ukládání společenských akcí do databáze. U položek jako kraj, město, místo jsou selectboxy a pro uživatele je strašně nepohodlné vybírat z x stovek měst, míst... řešením je, jak jsem se dočetl AJAX. Potřebuji když vyberu ze selectboxu kraj, tak se mi automaticky zobrazí selectbox z městy pouze z toho kraje. Vyberu město a zobrazí se mi třeba místa atd... no a to celé pak uložím do databáze. Neznáte nějaký tutoriál, příklady, články v čj nebo nemáte někdo zkušenosti s tímto problémem? Budu rád za každou reakci. |
||
Chamurappi Profil |
#2 · Zasláno: 14. 2. 2011, 11:48:39
Reaguji na Pavla Kr.:
„pro uživatele je strašně nepohodlné vybírat z x stovek měst, míst… řešením je, jak jsem se dočetl AJAX“ Pokud je jedinou motivací pohodlnost výběru, není AJAX nutný, data mohou být ve stránce připravena od začátku — pokud jich není příliš mnoho. Při použití AJAXu budeš potřebovat skript na straně serveru, který dodá HTML kód se <select> em — a ten plácneš do innerHTML nějakého elementu (nalezeného třeba přes document.getElementById ). Je to docela jednoduché, zkus něco splácat dohromady a až ti to nebude fungovat, popostrčíme tě :-)
|
||
Pavel Kr. Profil * |
#3 · Zasláno: 14. 2. 2011, 16:15:49
Zatím mám takový selectbox:
<?php $array = array( 'Praha' => array( 'Praha 1' => 'Praha 1', 'Praha 1' => 'Praha 1', 'Praha 1' => 'Praha 1', 'Praha 1' => 'Praha 1', ), 'Brno' => array( 'Brno 1' => 'Brno 1', 'Brno 1' => 'Brno 1', 'Brno 1' => 'Brno 1', 'Brno 1' => 'Brno 1', 'Brno 1' => 'Brno 1', ), 'Ostrava' => array( 'Ostrava 1' => 'Ostrava 1', 'Ostrava 1' => 'Ostrava 1', 'Ostrava 1' => 'Ostrava 1', 'Ostrava 1' => 'Ostrava 1', 'Ostrava 1' => 'Ostrava 1', ), Liberec' => array( 'Liberec 1' => 'Liberec 1', 'Liberec 1' => 'Liberec 1', 'Liberec 1' => 'Liberec 1', 'Liberec 1' => 'Liberec 1', 'Liberec 1' => 'Liberec 1', 'Liberec 1' => 'Liberec 1', 'Liberec 1' => 'Liberec 1', ), ), 'Další' => array( 'Česká republika' => 'Česká republika', 'Evropa' => 'Evropa', 'Amerika' => 'Amerika', 'Asie' => 'Asie', 'Austrálie a Nový Zéland' => 'Austrálie a Nový Zéland', ), ); $select = "\n" . '<select name="obec" id="obec">'; $select .= "\n" . '<option value="">Vyberte obec</option>'; foreach($array as $region => $mikro) { $select .= "\n\t" . '<optgroup label="' . $region . '">'; foreach($mikro as $klic => $nazev) { $selected = ''; if((!empty($_POST['obec'])) && ($_POST['obec'] == $klic)) { $selected = ' selected'; } $select .= "\n\t\t" . '<option value="' . $klic . '"' . $selected . '>' . $nazev . '</option>'; } $select .= "\n\t" . '</optgroup>'; } $select .= "\n" . '</select>'; echo $select; ?> Toto funguje dobře. Od AJAXU jsem teda asi upustil, ale potřeboval bych teda nějak popostrčit jak takovéto dva selectboxy na sebe "navázat". Uživatel vybere město, dejme tomu Kolín a chci aby to automaticky do dalšího selectboxu vybralo kraj Středočeský. Nevím jestli mít všechna města nějak předdefinovaná v databázi a kraje k nim nějak automaticky doplňovat? |
||
Časová prodleva: 13 let
|
0