Autor | Zpráva | ||
---|---|---|---|
Pavel Dumbrovský Profil |
#1 · Zasláno: 1. 1. 2011, 23:29:05
Zdravím Vás,
prosím o radu, v JS začínám a nevím co s tím. Mám dva selecty, výběr kategorie a podkategorie a chci, aby se mi v v tom selectu podkategorie vypsalo pole optionů podle toho, jaký je vybraný select kategorie. Zatím jsem to zkusil takto, ale to nejede: Touto funkcí měním pole pro výpis podkategorií: function setKat() { var aktualni_kategorie; aktualni_kategorie="podkategorie"; aktualni_kategorie+=document.formular.kategorie.value; podkategorie=aktualni_kategorie; alert(aktualni_kategorie); } Tady volám tu funkci setKat() <select name="kategorie" onChange="setKat()"> A tady se mají vypsat ty podkategorie, ale s document.write to samozřejmě po načtení stránky už nepůjde, jak na to prosím? <script> for (var podkategorie in podkategorie) {document.write (podkategorie [jmeno]);} </script> |
||
Radek Cvek Profil |
#2 · Zasláno: 2. 1. 2011, 00:36:21
<script language="JavaScript" type="text/javascript"> function setKat() { for (var i=0; i<document.formular.podkategorie.length; i++) document.formular.podkategorie.remove(i); if (document.formular.kategorie.value=='ovoce') { document.formular.podkategorie.options[0]=new Option("jablko", "jablko", false, false); document.formular.podkategorie.options[1]=new Option("hruška", "hruška", false, false); document.formular.podkategorie.options[2]=new Option("švestka", "švestka", false, false); } if (document.formular.kategorie.value=='zelenina') { document.formular.podkategorie.options[0]=new Option("celer", "celer", false, false); document.formular.podkategorie.options[1]=new Option("mrkev", "mrkev", false, false); } } </script> <form name="formular"> <select name="kategorie" onChange="setKat();"> <option value="ovoce">ovoce</option> <option value="zelenina">zelenina</option> </select> <select name="podkategorie"> </select> </form> |
||
Pavel Dumbrovský Profil |
#3 · Zasláno: 2. 1. 2011, 16:49:23
Děkuji za pomoc,
tady ty formulářové elementy neznám. Nevíte o nějaké stránce, kde je seznam takovýchto elementů, které jdou měnit pomocí js, něco jako uvedené document.formular.podkategorie.options[]? Díky! |
||
Radek Cvek Profil |
#4 · Zasláno: 2. 1. 2011, 21:16:22
Pomocí javascriptu lze měnit snad úplně všechny formulářové atributy - a to docela předvídavě:
<input value="hodnota"> se mění .value=jinahodnota <input checked="checked"> se mění .checked=false a naopak .checked=true <input disabled="disabled"> se mění .disabled=false a naopak .disabled=true ... a podobně viz. odkaz já se to teprve učím a pomáhá mi toto perfektní na tom portálu je Try it yourself » - otevře se okno, kde se dá měnit javascriptový kód a učit se to pokus-omyl - jak to dělám já Pro javascript odborníky: co se týče kódu výše - vymazávám všechny optiony pomocí cyklu for (var i=0; i<document.formular.podkategorie.length; i++) document.formular.podkategorie.remove(i); ale vygůgloval jsem, že by se to dalo takto: document.formular.podkategorie.options.length=0; což znamená, že místo cyklu, který prochází všechny optiony a maže je, bych to hned vymazal najednou - ale mě to nefunguje! V čem je chyba? |
||
Pavel Dumbrovský Profil |
#5 · Zasláno: 3. 1. 2011, 12:48:27
Radek Cvek:
„Pomocí javascriptu lze měnit snad úplně všechny formulářové atributy“ To už jsem taky zjistil a co jiné věci než formuláře? Vím že to jde pomocí id nebo class, třeba změnit barvu, nebo nastavit dipslay:none; a podobně, ale když chci napřiklad na stránce prostě vypsat nějaký početní výsledek a měnit ho třeba na kliknutí někam? |
||
Tori Profil |
#6 · Zasláno: 3. 1. 2011, 12:56:39
Pavel Dumbrovský:
„když chci napřiklad na stránce prostě vypsat nějaký početní výsledek a měnit ho třeba na kliknutí někam“ Výsledek pište do nějakého elementu, jehož obsah budete měnit pomocí vlastností id a innerHTML. |
||
Časová prodleva: 14 let
|
0