S slow Medlem sedan apr. 2004 148 inlägg Frågan 13 apr. 2005 12:25 #1 Har en select meny som ser ut som nedan.
Jag är kass på javascript. Hur f*n gör man ifall man vill att när man väljer kommun så ska man komma till valfri wwwadress?
<script language="JavaScript" type="text/javascript">
var kommun = new Array(22);
for(var n=0;n<kommun.length;n++){
kommun[n] = new Array();
}
kommun[0][0]="-- Välj län --";
kommun[1][2]="Olofström";
kommun[1][3]="Ronneby";
kommun[1][4]="Sölvesborg";
kommun[2][0]="Avesta";
kommun[2][1]="Borlänge";
kommun[2][2]="Falun";
kommun[2][3]="Gagnef";
kommun[2][4]="Hedemora";
kommun[2][5]="Leksand";
kommun[2][6]="Ludvika";
kommun[2][7]="Malung";
kommun[2][8]="Mora";
kommun[2][9]="Orsa";
kommun[2][10]="Rättvik";
kommun[2][11]="Smedjebacken";
kommun[2][12]="Säter";
kommun[2][13]="Vansbro";
kommun[2][14]="Älvdalen";
kommun[3][0]="Gotland";
kommun[4][0]="Bollnäs";
kommun[4][1]="Gävle";
kommun[4][2]="Hofors";
kommun[4][3]="Hudiksvall";
kommun[4][4]="Ljusdal";
kommun[4][5]="Nordanstig";
kommun[4][6]="Ockelbo";
kommun[4][7]="Ovanåker";
kommun[4][8]="Sandviken";
kommun[4][9]="Söderhamn";
kommun[5][0]="Falkenberg";
kommun[5][1]="Halmstad";
kommun[5][2]="Hylte";
kommun[5][3]="Kungsbacka";
kommun[5][4]="Laholm";
kommun[5][5]="Varberg";
kommun[6][0]="Berg";
kommun[6][1]="Bräcke";
kommun[6][2]="Härjedalen";
kommun[6][3]="Krokom";
kommun[6][4]="Ragunda";
kommun[6][5]="Strömsund";
kommun[6][6]="Åre";
kommun[6][7]="Östersund";
kommun[7][0]="Aneby";
kommun[7][1]="Eksjö";
kommun[7][2]="Gislaved";
kommun[7][3]="Gnosjö";
kommun[7][4]="Habo";
kommun[7][5]="Jönköping";
kommun[7][6]="Mullsjö";
kommun[7][7]="Nässjö";
kommun[7][8]="Sävsjö";
kommun[7][9]="Tranås";
kommun[7][10]="Vaggeryd";
kommun[7][11]="Vetlanda";
kommun[7][12]="Värnamo";
kommun[8][0]="Borgholm";
kommun[8][1]="Emmaboda";
kommun[8][2]="Hultsfred";
kommun[8][3]="Högsby";
kommun[8][4]="Kalmar";
kommun[8][5]="Mönsterås";
kommun[8][6]="Mörbylånga";
kommun[8][7]="Nybro";
kommun[8][8]="Oskarshamn";
kommun[8][9]="Torsås";
kommun[8][10]="Vimmerby";
kommun[8][11]="Västervik";
kommun[9][0]="Alvesta";
kommun[9][1]="Lessebo";
kommun[9][2]="Ljungby";
kommun[9][3]="Markaryd";
kommun[9][4]="Tingsryd";
kommun[9][5]="Uppvidinge";
kommun[9][6]="Växjö";
kommun[9][7]="Älmhult";
kommun[10][0]="Arjeplog";
kommun[10][1]="Arvidsjaur";
kommun[10][2]="Boden";
kommun[10][3]="Gällivare";
kommun[10][4]="Haparanda";
kommun[10][5]="Jokkmokk";
kommun[10][6]="Kalix";
kommun[10][7]="Kiruna";
kommun[10][8]="Luleå";
kommun[10][9]="Pajala";
kommun[10][10]="Piteå";
kommun[10][11]="Älvsbyn";
kommun[10][12]="Överkalix";
kommun[10][13]="Övertorneå";
kommun[11][0]="Bjuv";
kommun[11][1]="Bromölla";
kommun[11][2]="Burlöv";
kommun[11][3]="Båstad";
kommun[11][4]="Eslöv";
kommun[11][5]="Helsingborg";
kommun[11][6]="Hässleholm";
kommun[11][7]="Höganäs";
kommun[11][8]="Hörby";
kommun[11][9]="Höör";
kommun[11][10]="Klippan";
kommun[11][11]="Kristianstad";
kommun[11][12]="Kävlinge";
kommun[11][13]="Landskrona";
kommun[11][14]="Lomma";
kommun[11][15]="Lund";
kommun[11][16]="Malmö";
kommun[11][17]="Osby";
kommun[11][18]="Perstorp";
kommun[11][19]="Simrishamn";
kommun[11][20]="Sjöbo";
kommun[11][21]="Skurup";
kommun[11][22]="Staffanstorp";
kommun[11][23]="Svalöv";
kommun[11][24]="Svedala";
kommun[11][25]="Tomelilla";
kommun[11][26]="Trelleborg";
kommun[11][27]="Vellinge";
kommun[11][28]="Ystad";
kommun[11][29]="Ängelholm";
kommun[11][30]="Åstorp";
kommun[11][31]="Örkelljunga";
kommun[11][32]="Östra Göinge";
kommun[12][0]="Botkyrka";
kommun[12][1]="Danderyd";
kommun[12][2]="Ekerö";
kommun[12][3]="Haninge";
kommun[12][4]="Huddinge";
kommun[12][5]="Järfälla";
kommun[12][6]="Lidingö";
kommun[12][7]="Nacka";
kommun[12][8]="Norrtälje";
kommun[12][9]="Nykvarn";
kommun[12][10]="Nynäshamn";
kommun[12][11]="Salem";
kommun[12][12]="Sigtuna";
kommun[12][13]="Sollentuna";
kommun[12][14]="Solna";
kommun[12][15]="Stockholm";
kommun[12][16]="Sundbyberg";
kommun[12][17]="Södertälje";
kommun[12][18]="Tyresö";
kommun[12][19]="Täby";
kommun[12][20]="Upplands-Bro";
kommun[12][21]="Upplands-Väsby";
kommun[12][22]="Vallentuna";
kommun[12][23]="Vaxholm";
kommun[12][24]="Värmdö";
kommun[12][25]="Österåker";
kommun[13][0]="Eskilstuna";
kommun[13][1]="Flen";
kommun[13][2]="Gnesta";
kommun[13][3]="Katrineholm";
kommun[13][4]="Nyköping";
kommun[13][5]="Oxelösund";
kommun[13][6]="Strängnäs";
kommun[13][7]="Trosa";
kommun[13][8]="Vingåker";
kommun[14][0]="Enköping";
kommun[14][1]="Håbo";
kommun[14][2]="Knivsta";
kommun[14][3]="Tierp";
kommun[14][4]="Uppsala";
kommun[14][5]="Älvkarleby";
kommun[14][6]="Östhammar";
kommun[15][0]="Arvika";
kommun[15][1]="Eda";
kommun[15][2]="Filipstad";
kommun[15][3]="Forshaga";
kommun[15][4]="Grums";
kommun[15][5]="Hagfors";
kommun[15][6]="Hammarö";
kommun[15][7]="Karlstad";
kommun[15][8]="Kil";
kommun[15][9]="Kristinehamn";
kommun[15][10]="Munkfors";
kommun[15][11]="Storfors";
kommun[15][12]="Sunne";
kommun[15][13]="Säffle";
kommun[15][14]="Torsby";
kommun[15][15]="Årjäng";
kommun[16][0]="Bjurholm";
kommun[16][1]="Dorotea";
kommun[16][2]="Lycksele";
kommun[16][3]="Malå";
kommun[16][4]="Nordmaling";
kommun[16][5]="Norsjö";
kommun[16][6]="Robertsfors";
kommun[16][7]="Skellefteå";
kommun[16][8]="Sorsele";
kommun[16][9]="Storuman";
kommun[16][10]="Umeå";
kommun[16][11]="Vilhelmina";
kommun[16][12]="Vindeln";
kommun[16][13]="Vännäs";
kommun[16][14]="Åsele";
kommun[17][0]="Härnösand";
kommun[17][1]="Kramfors";
kommun[17][2]="Sollefteå";
kommun[17][3]="Sundsvall";
kommun[17][4]="Timrå";
kommun[17][5]="Ånge";
kommun[17][6]="Örnsköldsvik";
kommun[18][0]="Arboga";
kommun[18][1]="Fagersta";
kommun[18][2]="Hallstahammar";
kommun[18][3]="Heby";
kommun[18][4]="Kungsör";
kommun[18][5]="Köping";
kommun[18][6]="Norberg";
kommun[18][7]="Sala";
kommun[18][8]="Skinnskatteberg";
kommun[18][9]="Surahammar";
kommun[18][10]="Västerås";
kommun[19][0]="Ale";
kommun[19][1]="Alingsås";
kommun[19][2]="Bengtsfors";
kommun[19][3]="Bollebygd";
kommun[19][4]="Borås";
kommun[19][5]="Dals-Ed";
kommun[19][6]="Essunga";
kommun[19][7]="Falköping";
kommun[19][8]="Färgelanda";
kommun[19][9]="Grästorp";
kommun[19][10]="Gullspång";
kommun[19][11]="Göteborg";
kommun[19][12]="Götene";
kommun[19][13]="Herrljunga";
kommun[19][14]="Hjo";
kommun[19][15]="Härryda";
kommun[19][16]="Karlsborg";
kommun[19][17]="Kungälv";
kommun[19][18]="Lerum";
kommun[19][19]="Lidköping";
kommun[19][20]="Lilla Edet";
kommun[19][21]="Lysekil";
kommun[19][22]="Mariestad";
kommun[19][23]="Mark";
kommun[19][24]="Mellerud";
kommun[19][25]="Munkedal";
kommun[19][26]="Mölndal";
kommun[19][27]="Orust";
kommun[19][28]="Partille";
kommun[19][29]="Skara";
kommun[19][30]="Skövde";
kommun[19][31]="Sotenäs";
kommun[19][32]="Stenungsund";
kommun[19][33]="Strömstad";
kommun[19][34]="Svenljunga";
kommun[19][35]="Tanum";
kommun[19][36]="Tibro";
kommun[19][37]="Tidaholm";
kommun[19][38]="Tjörn";
kommun[19][39]="Tranemo";
kommun[19][40]="Trollhättan";
kommun[19][41]="Töreboda";
kommun[19][42]="Uddevalla";
kommun[19][43]="Ulricehamn";
kommun[19][44]="Vara";
kommun[19][45]="Vänersborg";
kommun[19][46]="Vårgårda";
kommun[19][47]="Åmål";
kommun[19][48]="Öckerö";
kommun[20][0]="Askersund";
kommun[20][1]="Degerfors";
kommun[20][2]="Hallsberg";
kommun[20][3]="Hällefors";
kommun[20][4]="Karlskoga";
kommun[20][5]="Kumla";
kommun[20][6]="Laxå";
kommun[20][7]="Lekeberg";
kommun[20][8]="Lindesberg";
kommun[20][9]="Ljusnarsberg";
kommun[20][10]="Nora";
kommun[20][11]="Örebro";
kommun[21][0]="Boxholm";
kommun[21][1]="Finspång";
kommun[21][2]="Kinda";
kommun[21][3]="Linköping";
kommun[21][4]="Mjölby";
kommun[21][5]="Motala";
kommun[21][6]="Norrköping";
kommun[21][7]="Söderköping";
kommun[21][8]="Vadstena";
kommun[21][9]="Valdemarsvik";
kommun[21][10]="Ydre";
kommun[21][11]="Åtvidaberg";
kommun[21][12]="Ödeshög";
function showSubKommun(subCat,selectObj){
selectObj.length=kommun[subCat].length;
for(var n=0;n<kommun[subCat].length;n++){
selectObj[n].text=kommun[subCat][n];
selectObj[n].value=kommun[subCat][n];
}
}
</script>
<body bgcolor="#C2C287" text="#000000" id="all" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10" link="#660000" vlink="#660000" alink="#660000">
<form method="POST" action="<?php echo $editFormAction; ?>" name="form1">
<p> Kommun:<br>
<select name="lan" onChange="showSubKommun(this.selectedIndex,this.form.underKommun);">
<option value="">-- Välj Län --</option>
<option>Blekinge län</option>
<option>Dalarnas län</option>
<option>Gotlands län</option>
<option>Gävleborgs län</option>
<option>Hallands län</option>
<option>Jämtlands län</option>
<option>Jönköpings län</option>
<option>Kalmar län</option>
<option>Kronobergs län</option>
<option>Norrbottens län</option>
<option>Skåne län</option>
<option>Stockholms län</option>
<option>Södermanlands län</option>
<option>Uppsala län</option>
<option>Värmlands län</option>
<option>Västerbottens län</option>
<option>Västernorrlands län</option>
<option>Västmanlands län</option>
<option>Västra Götalands län</option>
<option>Örebro län</option>
<option>Östergötlands län</option>
</select>
<select name="underKommun">
<option selected>-- Välj län --</option>
</select>
</p>
</form>
G Guffa Medlem sedan juni 2004 533 inlägg Oj, kan du inte lägga in lite radbrytingar i koden så att sidan inte blir så löjligt bred...?
Du kan lägga in namnet och adressen i arrayen:
kommun[1][1]=["Karlskrona","http://www.karlskrona.se/ "];
Sedan kan du lägga in adressen som value i option-taggarna:
selectObj[n].text=kommun[subCat][n][0];
selectObj[n].value=kommun[subCat][n][1];
Sedan kan du använda value på den valda kommunen när du ska gå till sidan.
Det finns även ett kortare sätt att skapa arrayer i javascript än att lägga in varje värde för sig:
kommun=[
[["-- Välj län --",""]],
[["Karlshamn","..."],["Karlskrona","..."], ... ,["...","..."]],
...
[["...","..."], ... , ["...","..."]]
];
S slow Medlem sedan apr. 2004 148 inlägg Har gjort som följer nu, men jag får den inte att hoppa till någon länk när man väljer. Förstår inte riktigt vad du menar med:
"Sedan kan du använda value på den valda kommunen när du ska gå till sidan."???
<script language="JavaScript" type="text/javascript">
var kommun = new Array(22);
for(var n=0;n<kommun.length;n++){
kommun[n] = new Array();
}
kommun[0][0]="-- Välj län --";
kommun[1][0]=["Karlshamn","http://www.karlshamn.se/"];
kommun[1][1]=["Karlskrona","http://www.karlskrona.se/"];
OSV OSV
function showSubKommun(subCat,selectObj){
selectObj.length=kommun[subCat].length;
for(var n=0;n<kommun[subCat].length;n++){
selectObj[n].text=kommun[subCat][n][0];
selectObj[n].value=kommun[subCat][n][1];
}
}
</script>
<body>
<form method="POST" action="<?php echo $editFormAction; ?>" name="form1">
<p> Kommun:<br>
<select name="lan" onChange="showSubKommun(this.selectedIndex,this.form.underKommun);">
<option value="">-- Välj Län --</option>
<option>Blekinge län</option>
<option>Dalarnas län</option>
<option>Gotlands län</option>
<option>Gävleborgs län</option>
<option>Hallands län</option>
<option>Jämtlands län</option>
<option>Jönköpings län</option>
<option>Kalmar län</option>
<option>Kronobergs län</option>
<option>Norrbottens län</option>
<option>Skåne län</option>
<option>Stockholms län</option>
<option>Södermanlands län</option>
<option>Uppsala län</option>
<option>Värmlands län</option>
<option>Västerbottens län</option>
<option>Västernorrlands län</option>
<option>Västmanlands län</option>
<option>Västra Götalands län</option>
<option>Örebro län</option>
<option>Östergötlands län</option>
</select>
<select name="underKommun">
<option>-- Välj län --</option>
</select>
</p>
</form>
G Guffa Medlem sedan juni 2004 533 inlägg Nej, du har ju ingen kod för att byta sida.
Att få dit adresserna var ju den svåra biten. Den lätta biten är ju att hoppa till adressen. En mycket vanlig funktion:
<select name="underKommun" onchange="document.location=this.options[this.selectedIndex];">