09. september 2008 - 15:26
Der er
21 kommentarer og 1 løsning
Onchange i select felt
Hvordan for jeg den til at opdatere formen eller siden så hvis jeg vælger en option: <select name="type" class="form" onchange=""> <option value="0">Choose</option> </select Så dukker der en ny option op nedenunder. Der skal dog kunne dukke op til 9 forskellige nye select frem alt efter hvilken jeg vælger... altså kun 1, men der er 9 forskellige... <select name="type" class="form"> <option value="0">blabla</option> </select
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
09. september 2008 - 15:34
#1
Tjah, tjoh ... -- det _lyder_ som om, du bare kan have de forskellige select-bokse i elementer, du skjuler og/eller viser, men det kan jo godt være, at det er helt anderledes ...
09. september 2008 - 15:40
#2
altså hvis option 1 bliver valgt kommer der 1 select box neden under... hvis 2 kommer der en anden... 3 en helt tredie... hvis du kan følge mig :) De er unikke alle sammen
09. september 2008 - 15:40
#3
men kun 1 box kommer frem... den vælges bare alt efter hvad man vælger i den første
09. september 2008 - 15:41
#4
Jeg prøvede med noget ala det her... men virker ikke da den ikke sender værdien ved update <select name="type" class="form" onchange="document.location.href='<?php echo "$PHP_SELF?type=$_POST[type]"; ?>'"> <option value="0">Choose</option> <option value="Rogue" <?php if($type == "Rogue") { echo "selected"; } ?>>Rogue</option> <option value="Mage" <?php if($type == "Mage") { echo "selected"; } ?>>Mage</option> <option value="Warlock" <?php if($type == "Warlock") { echo "selected"; } ?>>Warlock</option> <option value="Priest" <?php if($type == "Priest") { echo "selected"; } ?>>Priest</option> <option value="Warrior" <?php if($type == "Warrior") { echo "selected"; } ?>>Warrior</option> <option value="Shaman" <?php if($type == "Shaman") { echo "selected"; } ?>>Shaman</option> <option value="Druid" <?php if($type == "Druid") { echo "selected"; } ?>>Druid</option> <option value="Paladin" <?php if($type == "Paladin") { echo "selected"; } ?>>Paladin</option> <option value="Hunter" <?php if($type == "Hunter") { echo "selected"; } ?>>Hunter</option> </select>
09. september 2008 - 15:49
#5
-- jeg har stadig ikke forstået, hvad det er, der skal dukke op, hvis man vælger den ene eller den anden, men da du nu viser rollespils-figurer, kunne jeg gætte på, at det var de forskellige typers egenskaber, der skulle vises efter valg ... -- et gæt kunne ligne: <select name="type" class="form" onchange="document.getElementById(this.value).style.display='block';"> <option>Choose</option> <option value="Rogue">Rogue</option> <option value="Mage">Mage</option> <option value="Warlock">Warlock</option> <option value="Priest">Priest</option> <option value="Warrior">Warrior</option> <option value="Shaman">Shaman</option> <option value="Druid">Druid</option> <option value="Paladin">Paladin</option> <option value="Hunter">Hunter</option> </select> <div id="Rogue"> <!-- De elementer, der skal bruges, når det er en Rogue-figur --> </div> <div id="Mage"> <!-- De elementer, der skal bruges, når det er en Mage-figur --> </div> osv.
09. september 2008 - 15:53
#6
Ja det ser rigtigt ud men den viser begge div's med det samme...
09. september 2008 - 16:04
#7
Ja, de skulle selvfølgelig have været skjult fra starten: <div id="Rogue" style="display:none;> -- men der er vel også noget med at hvis man vælger om, så skal det tidligere valg skjules: <script type="text/javascript"> var oldType = null; functon showType(elmId){ if(oldType) oldType.display = "none"; if(elmId){ oldType = document.getElementById(elmId).style; oldType.display = "block"; } } </script> <select name="type" class="form" onchange="showType(this.value);">
09. september 2008 - 16:05
#8
Øv, en lille tavetosse: <div id="Rogue" style="display:none;">
09. september 2008 - 17:09
#9
<script type="text/javascript"> var oldType = null; functon showType(elmId){ if(oldType) oldType.display = "none"; if(elmId){ oldType = document.getElementById(elmId).style; oldType.display = "block"; } } </script> <select name="type" class="form" onchange="showType(this.value);"> <option value="0">Choose</option> <option value="Rogue">Rogue</option> <option value="Mage">Mage</option> <option value="Warlock">Warlock</option> <option value="Priest">Priest</option> <option value="Warrior">Warrior</option> <option value="Shaman">Shaman</option> <option value="Druid">Druid</option> <option value="Paladin">Paladin</option> <option value="Hunter">Hunter</option> </select> <br><br> <div id="Rogue" style="display:none;"> lælal </div> <div id="Mage" style="display:none;"> test </div> Kan sq ikke helt få det til af dutte... :S
09. september 2008 - 17:48
#10
funcon skal være function, og så skal alle andre end Rogue og Mage jo også oprettes som div'er. <script type="text/javascript"> var oldType = null; function showType(elmId){ if(oldType) oldType.style.display = "none"; if(elmId){ oldType = document.getElementById(elmId); oldType.style.display = "block"; } } </script> <select name="type" class="form" onchange="showType(this.value);"> <option value="0">Choose</option> <option value="Rogue">Rogue</option> <option value="Mage">Mage</option> <option value="Warlock">Warlock</option> <option value="Priest">Priest</option> <option value="Warrior">Warrior</option> <option value="Shaman">Shaman</option> <option value="Druid">Druid</option> <option value="Paladin">Paladin</option> <option value="Hunter">Hunter</option> </select> <br><br> <div id="Rogue" style="display:none"> lælal </div> <div id="Mage" style="display:none"> test </div>
09. september 2008 - 17:49
#11
ah der var den :) roenving svar tak... ja tak begge 2 hehe :)
09. september 2008 - 17:56
#12
Hov... mindre problem i måske kan løse... <div id="Priest" style="display:none;"> <select name="spec" class="form"> <option value="Holy">Holy</option> <option value="Rogue">Disc</option> <option value="Mage">Shadow</option> </select> </div> <div id="Warrior" style="display:none;"> <select name="spec" class="form"> <option value="Protection">Protection</option> <option value="Fury">Fury</option> <option value="Arms">Arms</option> </select> </div> Hvis jeg nu har valgt Priest så ender $spec stadig med at blave den value i den nederste select... altså Protection
09. september 2008 - 18:03
#13
Hvad? Du bør vel heller ikke have 2 selects, der begge har name="spec".
09. september 2008 - 18:04
#14
Du må give dine selects forskellige navne. Det vil løse problemet. Ellers kan du vel lave optgroups i selecten, så det er disse, der bliver skjult/vist.
09. september 2008 - 18:06
#15
okay
10. september 2008 - 05:44
#16
Tjah, eller disable de ubrugte: <div id="Priest" style="display:none;"> <select name="spec" class="form" disabled="disabled"> <option value="Holy">Holy</option> <option value="Rogue">Disc</option> <option value="Mage">Shadow</option> </select> </div> <div id="Warrior" style="display:none;" disabled="disabled"> <select name="spec" class="form"> <option value="Protection">Protection</option> <option value="Fury">Fury</option> <option value="Arms">Arms</option> </select> </div> <script type="text/javascript"> var oldType = null; function showType(elmId){ if(oldType){ oldType.style.display = "none"; oldType.getElementsByTagName("select")[0].setAttribute("disabled","disabled"); } if(elmId){ oldType = document.getElementById(elmId); oldType.style.display = "block"; oldType.getElementsByTagName("select")[0].removeAttribute("disabled"); } } </script>
10. september 2008 - 05:45
#17
Velbekomme '-)
10. september 2008 - 09:17
#18
disabled på div'en?
11. september 2008 - 23:35
#19
-- øeh, hvilken div bliver disabled, såvidt jeg kan se på koden er det select-elementer, der disables ...
11. september 2008 - 23:36
#20
-- og tak for point ;~}
12. september 2008 - 00:02
#21
Da vel ikke her, eller hvad: <div id="Warrior" style="display:none;" disabled="disabled">
12. september 2008 - 00:50
#22
-- arh, en tavetosse i ny og næ kan vel forekomme, eller måske nærmere en copy/paste-fejl ... -- og jeg fokuserer jo som vanligt på js-koden, selv klokken lort om morgenen !-) -- men selvfølgelig giver det ingen mening at disable et div !o]
Vi tilbyder markedets bedste kurser inden for webudvikling