Avatar billede fiskerendk Nybegynder
17. juni 2004 - 10:13 Der er 31 kommentarer og
2 løsninger

Dropdown menuer og Arrays

Hej

Jeg har lavet nogle dropdown boxes som er afhængige af hinanden.
Men jeg står overfor også gerne at vil ha Årgang på..
Da jeg så skulle lave en ny dropdown i det her hvergang der er en ny model blir det ledt meget uoverskueligt så tænkte jeg på om man ikke kunne lavet indholdet af disse dropdown boxes som variabler/arrays.

Når man har valgt f.eks. BMW skal man vælge mellem model og bagefter årgang..

Jeg havde så overvejet at man kunne lavet det lidt sådan her måske.

Array(1,'BMW','E30','1983','1991');
Array(1,'BMW','E36','1992','1996');

hvor BMW selvfølgelig er det man har valgt i første drop down..
E30/E36 er de modeller som skal ind i "model-bmw"

I en dropdown der blir lavet med årgang skal den så skrive 1983-1991 dvs 1983 er første år og 1991 er sidste år i rækken af den model.

<font class="content"><b>Bil M&aelig;rke:</b></font><br>
<select name="producent" onchange="for(i=0;3>i;i++){ document.getElementById('l'+i).style.display='none';} document.getElementById('l'+this.selectedIndex).style.display='block';">
<option value="error" selected="selected">V&aelig;lg</option>
<option value="BMW">BMW</option>
<option value="VW">VW</option>
</select>
</div>

<div id="l1" style="display:none;">
<font class="content"><b>Model:</b></font><br>
<select name="model-bmw">
<option value="error" selected="selected">V&aelig;lg</option>
<option value="E30">E30</option>
<option value="E34">E34</option>
<option value="E36">E36</option>
<option value="E46">E46</option>
</select>
</div>

<div id="l2" style="display:none;">
<font class="content"><b>Model:</b></font><br>
<select name="model-vw">
<option value="error" selected="selected">Model:</option>
<option value="Golf III">Golf III</option>
</select>
</div>

<div id="l2" style="display:none;">
<font class="content"><b>Årgang:</b></font><br>
<select name="year">
<option value="error" selected="selected">Årgang:</option>
<option value="1983">1983</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
...
..
.
</select>
</div>
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 10:17 #1
altså den skal lave dropdown menu l2 og l3 efter hvad man vælger i Bil mærke..

Hvis man vælger BMW skal den tage fra Arrays hvor BMW er skrevet som første.
den skal så liste alle modeller op i "model" dropdown menuen.

derudover skal man så kunne vælge årgang udfra modellen. altså hvis det er BMW E30 går den fra 1983-1991!
Avatar billede jaw Nybegynder
17. juni 2004 - 12:19 #2
Det vil sige, at man skal starte med at vælge bilmærke, og ud fra det bilmærke skal den så dele resten af infoen ud på de andre dropdowns?
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 12:26 #3
nemlig!

Man vælger f.eks. BMW i den første Dropdown.
Så kommer listen med BMW modeller ned i nr. 2 dropdown.

og de årgange der er mellem 1983 og 1991 kan man så vælge mellem i 3. dropdown der er årgang.
Avatar billede jaw Nybegynder
17. juni 2004 - 12:53 #4
Hvis jeg forstår dig ret, såå... Prøv lige at se: http://kasper.syndicate.dk/exp/bmw/index.php - men jeg forstår ikke helt det med årgangene... :/
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 13:44 #5
Ja det er noget i den stil..
Dog skal der ikke være vælg funktion men på den måde jeg har lavet det med den automatisk ændre indholdet neden under..

årgang skal komme efter model..

altså hvis nu der blir valgt BMW
så kan du vælge E30 el E36 osv.
så skal du så kunne vælge årgang..
f.eks. 1985

så du i alt har BMW - E30 - ÅRGANG
Avatar billede jaw Nybegynder
17. juni 2004 - 13:48 #6
Ja, men altså årgang skal være tilpasset den model man vælger, ikke?
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 13:48 #7
årgang er afhængig af hvilken model det er jo..

hvis det er E36 er det fra år 1992 til 1996.

hvis det f.eks. er mercedes. så er det måske en 190'er hvor årgangne måske starter i 70'erne og til idag hvis du kan følge mig.. jeg skal via årgang kunne bestemme hvad det er for en bil. da modellerne ikke altid er som BMW.. bmw bruger kun Exx engang altså E30 er 3 serien fra 83-91 E36 er 3 serien men fra 92-96 osv.

Men med andre bilmodeller hedder det måske Honda Civic i måske 10 år selvom det er mange forskellige modeler.. altså man skal udover mærke model også kunne vælge årgang som dog er afgængig af mærke/modellen
Avatar billede jaw Nybegynder
17. juni 2004 - 13:49 #8
Roger ! Men det med en ikke vælg-knap så skal du ud i javascript, men det har du måske allerede?
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 13:53 #9
ja det har jeg allerede.. så det er ikke noget problem.. jeg skal bar ha fundet ud af hvordan man for dem til at blive afhængige af hinanden i en form for array! el hvordan det nu gøres nemmest!
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 13:54 #10
jeg syntes du gør en stor hjælp for mig så hvis du lige kan fortælle hvor jeg kan smide flere point i kassen så sig lige til :D
Avatar billede jaw Nybegynder
17. juni 2004 - 13:56 #11
nej, nej det behøver du skam ikke :) Men jeg ville faktisk gerne hvis du kunne paste den javascript-kode du bruger til at undgå knapperne... Jeg er ikke så sej til javascript :/
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 14:02 #12
<div>
            <font class="content"><b>Bil M&aelig;rke:</b></font><br>
            <select name="producent" onchange="for(i=0;3>i;i++){ document.getElementById('l'+i).style.display='none';} document.getElementById('l'+this.selectedIndex).style.display='block';">
              <option value="error" selected="selected">V&aelig;lg</option>
              <option value="BMW">BMW</option>
              <option value="VW">VW</option>
            </select>
            </div>

            <div id="l0" style="display:block;">
            <font class="content"><b>Model:</b></font><br>
            <select name="model-disabled" disabled>
              <option value="error" selected="selected">V&aelig;lg</option>
            </select>
            </div>

            <div id="l1" style="display:none;">
            <font class="content"><b>Model:</b></font><br>
            <select name="model-bmw">
              <option value="error" selected="selected">V&aelig;lg</option>
              <option value="E30">E30</option>
              <option value="E34">E34</option>
              <option value="E36">E36</option>
              <option value="E46">E46</option>
            </select>
            </div>

            <div id="l2" style="display:none;">
            <font class="content"><b>Model:</b></font><br>
            <select name="model-vw">
              <option value="error" selected="selected">Model:</option>
              <option value="Golf III">Golf III</option>
            </select>
            </div>
Avatar billede jaw Nybegynder
17. juni 2004 - 14:39 #13
Det der javascript gør det altså lidt svært... Der må ikke være en "vælg"-knap? For den inddeler det jo i <div id=> og dem skal man faktisk lave manuelt alle sammen, og så bortfalder det snedige ved at lave arrays næsten...
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 14:57 #14
en knap funktion kommer til at ødelægge lidt det hele.. det er lidt ærgeligt faktisk..
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 14:59 #15
kan man da ikke få den til at lave en div id="lx"
og så lave din select neden under.. hvis nu du lige prøver at lave den med vælg knap så jeg kan se hvordan du har lavet det!
Avatar billede jaw Nybegynder
17. juni 2004 - 15:00 #16
Tjoh, jeg må lige tænke lidt over det... Men der kommer altså nok lige til at gå et par timer, har lige noget andet først :(
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 15:01 #17
det er helt i orden.. jeg er alligevel på arbejde så har tid nok :D
Avatar billede jaw Nybegynder
17. juni 2004 - 16:58 #18
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 17:41 #19
ja det ser ud af noget.. det er faktisk rigtig godt
Avatar billede jaw Nybegynder
17. juni 2004 - 17:42 #20
tjah, jeg ved nu ikke helt hvor godt det bliver :)
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 22:21 #21
det ser da ellers nogenlunde ud :D
Avatar billede jaw Nybegynder
17. juni 2004 - 23:56 #22
Jeg har mødt overmagten endnu engang :)

Det bliver noget lort i PHP! Lav det i javascript istedet for... Som sagt er jeg ikke en haj til javascript, men jeg har fundet et lille link til dig, der faktisk kan det samme som det du leder efter... Æren for dette, skal dog gå til roenving, da han har lavet det... http://roenving.users.whitehat.dk/index.html?/WD4Selects-beta.html

Good luck
/Jaw
Avatar billede fiskerendk Nybegynder
17. juni 2004 - 23:58 #23
hader java ville helst undgå det jo :D
Avatar billede jaw Nybegynder
18. juni 2004 - 00:01 #24
Jeg har det på præcis samme måde, men når du ikke vil have knapper - altså reloade siden - så bliver det noget hø :/
Avatar billede fiskerendk Nybegynder
18. juni 2004 - 00:02 #25
altså med det javascript der.. kunne jeg ligeså godt lave det på den måde jeg havde lavet det andet for der skal jeg ligemeget hvad skrive alle år på alle modeller osv..
Avatar billede fiskerendk Nybegynder
18. juni 2004 - 00:02 #26
kan jeg få den PHP kode du har lavet..
Avatar billede jaw Nybegynder
18. juni 2004 - 00:03 #27
sagtens, men den er ganske rodet, da det jo mest er test... Kan jeg maile den, eller vil du have den her?
Avatar billede fiskerendk Nybegynder
18. juni 2004 - 08:04 #28
du kan bar maile den til thn@hib.dk
Avatar billede fiskerendk Nybegynder
18. juni 2004 - 12:15 #29
tak for den tid du bar brugt.. selvom det ikke var sådan noget jeg rigtig kunne bruge.. Jeg har fundet noget java halløj der kan bruges men der skal ændres en del i det og jeg er røv dum til Java hehe..

Men smid lige et svar jaw. fordi du har altså fortjent de point!
Avatar billede jaw Nybegynder
18. juni 2004 - 12:16 #30
hehe... jeg smider gerne et svar, men du er i din gode ret til at tage pointene selv... mit løsningsforslag bruger du ikke, og det var jeg klar over - det var ikke fantastisk :)
Avatar billede fiskerendk Nybegynder
20. juni 2004 - 19:31 #31
Jamen så deler vi da bar points istedet du skal ha mange tak for din hjælp trods alt..
Avatar billede jaw Nybegynder
20. juni 2004 - 19:33 #32
Så gier jeg tak :)
Avatar billede jaw Nybegynder
20. juni 2004 - 19:33 #33
gier = siger :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester