Avatar billede jacob_m Nybegynder
15. maj 2006 - 16:17 Der er 13 kommentarer og
1 løsning

Select drop down ud fra Arrary

Jeg er ved at lave en "shopfinder" som i sin enkelthed skal finde frem til nogle forskellige foretninger. Fremgangsmåden er først at man skal vælge med en "select drop down" mellem fyn, sjælland og jylland, der efter der printes et array ud fra én af de 3 valg muligheder.

Hvordan for jeg javascript til at løbe igennem et array og udskrive <option value="id">Landsdel</option> til HTML.

Kan lave det i PHP med en for each løkke. Men kan ikke rigtig finde noget om det på nettet.

Mit array ser sådan her ud
----- JS ---
var land = new Array();

land[1] = 'Sjælland';
land[2] = 'Fyn';
land[3] = 'Jylland';

----- JS ---
Avatar billede roenving Novice
15. maj 2006 - 16:49 #1
var butik = new Array();
butik[1] = new Array();
butik[1][butik[1].length] = "1. sjællandske butik";
butik[1][butik[1].length] = "2. sjællandske butik";
butik[1][butik[1].length] = "3. sjællandske butik";

...

butik[2] = new Array();
butik[2][butik[2].length] = "1. fynske butik";
butik[2][butik[2].length] = "2. fynske butik";
butik[2][butik[2].length] = "3. fynske butik";

...

butik[3] = new Array();
butik[3][butik[3].length] = "1. jyske butik";
butik[3][butik[3].length] = "2. jyske butik";
butik[3][butik[3].length] = "3. jyske butik";

...
Avatar billede jacob_m Nybegynder
15. maj 2006 - 17:04 #2
Yes.. Så langt er jeg også.. Men hvordan for man Javascript til at skrive select, html´en..
Avatar billede roenving Novice
15. maj 2006 - 17:08 #3
function setSelect(sel){
  var butiksel = document.getElementById("butikker"), selVal = sel.value;
  butiksel.length = 0;
  for(i=0;butik[selVal].length>i;i++){
    butiksel.options[butiksel.length] = new option(butik[selVal][i]);
  }
}
Avatar billede roenving Novice
15. maj 2006 - 17:10 #4
Kaldes så med f.eks.

<select name="landsdel" onchange="if(this.selectedIndex>0)setSelect(this)">
  <option>Vælg landsdel</option>
  <option value="1">Sjælland</option>
  <option value="2">Fyn</option>
  <option value="3">Jylland</option>
</select>
Avatar billede jacob_m Nybegynder
15. maj 2006 - 17:12 #5
Roenving:> Kan næsten tyde den.. Hvordan putter jeg et array ind og fylder ind i option..
Avatar billede jacob_m Nybegynder
15. maj 2006 - 17:37 #6
Kan ikke helt få det til at gå op, den siger at option ikke er defineret i linien med:

butiksel.options[butiksel.length] = new option(butik[selVal][i]);
Avatar billede roenving Novice
15. maj 2006 - 17:40 #7
Hov, den konverterede til et lille bogstav:

    butiksel.options[butiksel.length] = new Option(butik[selVal][i]);
Avatar billede jacob_m Nybegynder
15. maj 2006 - 17:52 #8
Mange tak.. En sidste ting, nu vi er ved det.. Hvordan udskriver man et helt array bare som tekst i et div-layer for eks. For det er meningen at man så skal klikke på en butik og så komme videre til noget teskt i et layer..
Avatar billede jacob_m Nybegynder
15. maj 2006 - 18:33 #9
Har prøvet med følgende simple, men det virker ikke helt

---------------- Kode -------------
<script language="javascript" type="text/javascript">
var butik = new Array();

butik[1] = new Array();
butik[1][butik[1].length] = "SOLID - KØBMAGERGADE","KØBENHAVN K\n DK- 1001 København K\n Tel: +45 33 91 08 52\n Fax: +45 33 91 08 52\n";
butik[1][butik[1].length] = "SOLID - FISKETORVET","KØBENHAVN\n DK- 1560 København V\n Tel: +45 33 32 94 34\n Fax: +45 33 32 94 34\n";
butik[1][butik[1].length] = "SOLID - AMAGERCENTRET","KØBENHAVN S\n DK- 2300 København S\n Tel: +45 32 57 52 52\n Fax: +45 32 57 52 52\n";
butik[1][butik[1].length] = "SOLID - FIELDS","Fields Ørestaden\n DK- 2300 København S\n Tel: +45 32 620 031\n Fax: +45 32 620 039\n";
butik[1][butik[1].length] = "SOLID - HELSINGØR","Stengade 52\n DK- 3000 Helsingør\n Tel: +45 49 21 00 94\n Fax: +45 49 21 00 91\n";
butik[1][butik[1].length] = "SOLID - HOLBÆK","DK- 4900 Holbæk\n Tel: +45 59 47 00 93\n Fax: +45 59 47 00 63\n";
butik[1][butik[1].length] = "SOLID - SLAGELSE","DK- 4200 Slagelse\n Tel: +45 58 50 04 62\n";



butik[2] = new Array();
butik[2][butik[2].length] = "Kul & Koks - ODENSE","Skt. Anne gade 4 \n 5000 Odense\n tlf.: 66134550\n";
butik[2][butik[2].length] = "Samsøe & Samsøe - ODENSEE","Stjernegade\n 5220 Odense SØ\n";
butik[2][butik[2].length] = "SOLID - ROSENGÅRDSCENTERETE","Stjernegade\n 5220 Odense SØ\n Tlf. 66116921\n";
butik[2][butik[2].length] = "SOLID - ODENSEE","Vestergade 30\n DK- 5000 Odense\n Tel: +45 66 11 69 67\n Fax: +45 66 11 69 61\n";


butik[3] = new Array();
butik[3][butik[3].length]="Kul & Koks - KOLDING","Søndergade 8\n 6000 Kolding\n tlf.: 75503520\n";
butik[3][butik[3].length]="SOLID - RANDERS","Brødregade 6A\n DK-8900 Randers\n Tel: +45 86 41 81 18\n";
butik[3][butik[3].length]="SOLID - NÆSTVED","DK- 4700 Næstved\n Tel: +45 55 77 16 86\n Fax: +45 55 77 16 86\n";
butik[3][butik[3].length]="SOLID - ÅBOULEVARDEN","Åboulevarden 39\n DK-8000 Århus C\n Tel: +45 86 19 99 19\n Fax: +45 86 19 55 35\n";
butik[3][butik[3].length]="SOLID - SØNDERGADE","Søndergade 42 - 42\n DK-8000 Århus C\n Tel: +45 86 12 18 33\n Fax: +45 86 12 18 33\n";
butik[3][butik[3].length]="SOLID - BRUUNS GALLERI","M.P. Bruunsgade 25\n DK-8000 Århus C\n Tel: +45 86 19 99 12\n Fax: +45 87 41 61 04\n ";
butik[3][butik[3].length]="SOLID - HJØRRING","Strømgade 3C\n DK-9800 Hjørring\n Tel: +45 98 90 41 90\n Fax: +45 98 90 31 90\n";



function setSelect(sel){
  var butiksel = document.getElementById("butikker"), selVal = sel.value;
  butiksel.length = 0;
  for(i=0;butik[selVal].length>i;i++){
    butiksel.options[butiksel.length] = new Option(butik[selVal][i]);
  }
}


function selbutik(sel){
var ID=adr;
document.getElementById(ID).innerHTML = "Hej";
}




</script>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<script type="text/javascript" language="javascript" src="shop.js"></script>
<body margin="0">
<p class="style1"><strong>Shopfinder</strong></p>
<p class="style1">Landsdel: <br>
<select class="style1" name="landsdel" onchange="if(this.selectedIndex>0)setSelect(this)">
  <option>Vælg landsdel</option>
  <option value="1">Sjælland</option>
  <option value="2">Fyn</option>
  <option value="3">Jylland</option>
  </select>
  <br>
  Butikker: <br>
  <select class="style1" name="butikker" id="butikker" onChange="selbutik(sel)">
  <option>Vælg Butik</option>
  </select>
  <br>
 
<span id="adr">Start Indhold</span>
</p></body>
</html>
Avatar billede jacob_m Nybegynder
15. maj 2006 - 18:38 #10
Nu er jeg kommet lidt videre ved at ændre

function selbutik(sel, ary){
selVal = ary.value;
document.getElementById(sel).innerHTML = selVal.lenght;
}

og

  <select class="style1" name="butikker" id="butikker" onChange="selbutik('adr', this)">
  <option>Vælg Butik</option>
  </select>
Avatar billede jacob_m Nybegynder
15. maj 2006 - 18:38 #11
Mangler bare hvad objectet sel.xxx heder for at kunne hive data ud i arrayet..
Avatar billede roenving Novice
16. maj 2006 - 05:31 #12
Hrm, der mangler vist lige et par ting eller 10 ...

-- og i det følgende er der mange ændringer, bemærk gerne dem alle !-)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<title>Vis adresse</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
#adr{font-style:italic;}
</style>
<script language="javascript" type="text/javascript">
var selVal = 0;
var butik = new Array();

butik[1] = new Array();
butik[1][butik[1].length] = ["SOLID - KØBMAGERGADE","KØBENHAVN K<br> DK- 1001 København K<br> Tel: +45 33 91 08 52<br> Fax: +45 33 91 08 52<br>"];
butik[1][butik[1].length] = ["SOLID - FISKETORVET","KØBENHAVN<br> DK- 1560 København V<br> Tel: +45 33 32 94 34<br> Fax: +45 33 32 94 34<br>"];
butik[1][butik[1].length] = ["SOLID - AMAGERCENTRET","KØBENHAVN S<br> DK- 2300 København S<br> Tel: +45 32 57 52 52<br> Fax: +45 32 57 52 52<br>"];
butik[1][butik[1].length] = ["SOLID - FIELDS","Fields Ørestaden<br> DK- 2300 København S<br> Tel: +45 32 620 031<br> Fax: +45 32 620 039<br>"];
butik[1][butik[1].length] = ["SOLID - HELSINGØR","Stengade 52<br> DK- 3000 Helsingør<br> Tel: +45 49 21 00 94<br> Fax: +45 49 21 00 91<br>"];
butik[1][butik[1].length] = ["SOLID - HOLBÆK","DK- 4900 Holbæk<br> Tel: +45 59 47 00 93<br> Fax: +45 59 47 00 63<br>"];
butik[1][butik[1].length] = ["SOLID - SLAGELSE","DK- 4200 Slagelse<br> Tel: +45 58 50 04 62<br>"];

butik[2] = new Array();
butik[2][butik[2].length] = ["Kul & Koks - ODENSE","Skt. Anne gade 4 <br> 5000 Odense<br> tlf.: 66134550<br>"];
butik[2][butik[2].length] = ["Samsøe & Samsøe - ODENSE","Stjernegade<br> 5220 Odense SØ<br>"];
butik[2][butik[2].length] = ["SOLID - ROSENGÅRDSCENTERET","Stjernegade<br> 5220 Odense SØ<br> Tlf. 66116921<br>"];
butik[2][butik[2].length] = ["SOLID - ODENSE","Vestergade 30<br> DK- 5000 Odense<br> Tel: +45 66 11 69 67<br> Fax: +45 66 11 69 61<br>"];

butik[3] = new Array();
butik[3][butik[3].length]=["Kul & Koks - KOLDING","Søndergade 8<br> 6000 Kolding<br> tlf.: 75503520<br>"];
butik[3][butik[3].length]=["SOLID - RANDERS","Brødregade 6A<br> DK-8900 Randers<br> Tel: +45 86 41 81 18<br>"];
butik[3][butik[3].length]=["SOLID - NÆSTVED","DK- 4700 Næstved<br> Tel: +45 55 77 16 86<br> Fax: +45 55 77 16 86<br>"];
butik[3][butik[3].length]=["SOLID - ÅBOULEVARDEN","Åboulevarden 39<br> DK-8000 Århus C<br> Tel: +45 86 19 99 19<br> Fax: +45 86 19 55 35<br>"];
butik[3][butik[3].length]=["SOLID - SØNDERGADE","Søndergade 42 - 42<br> DK-8000 Århus C<br> Tel: +45 86 12 18 33<br> Fax: +45 86 12 18 33<br>"];
butik[3][butik[3].length]=["SOLID - BRUUNS GALLERI","M.P. Bruunsgade 25<br> DK-8000 Århus C<br> Tel: +45 86 19 99 12<br> Fax: +45 87 41 61 04<br> "];
butik[3][butik[3].length]=["SOLID - HJØRRING","Strømgade 3C<br> DK-9800 Hjørring<br> Tel: +45 98 90 41 90<br> Fax: +45 98 90 31 90<br>"];

function setSelect(sel){
  var butiksel = document.getElementById("butikker");
  document.getElementById("adr").innerHTML = "";
  selVal = sel.value;
  butiksel.length = 0;
  butiksel.options[butiksel.length] = new Option("Vælg Butik")
  for(i=0;butik[selVal].length>i;i++){
    butiksel.options[butiksel.length] = new Option(butik[selVal][i][0]);
  }
}

function selbutik(sel){
  document.getElementById("adr").innerHTML = butik[selVal][sel.selectedIndex-1][1];
}
</script>
<script type="text/javascript" language="javascript" src="shop.js"></script>
</head>

<body>
<p class="style1"><strong>Shopfinder</strong></p>
<p class="style1">Landsdel: <br>
<select class="style1" name="landsdel" onchange="if(this.selectedIndex>0)setSelect(this)">
  <option>Vælg landsdel</option>
  <option value="1">Sjælland</option>
  <option value="2">Fyn</option>
  <option value="3">Jylland</option>
  </select>
  <br>
  Butikker: <br>
  <select class="style1" name="butikker" id="butikker" onChange="selbutik(this)">
  <option>Vælg Butik</option>
  </select>
  <br>
 
<span id="adr">Start Indhold</span>
</p>
</body>
</html>
Avatar billede jacob_m Nybegynder
15. august 2006 - 11:16 #13
Takker.. Lægger i et svar
Avatar billede roenving Novice
15. august 2006 - 11:50 #14
Velbekomme '-)
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