Dynamic select
Jeg mangler et script/hjælp til programmering af et, som skal kunne dette.Når du vælger eks. et teleselsskab eks. TDC (i boks 1) skal der komme download data i boks 2 og upload data i boks 3.
I boks 2 er det de downloadshastigheder som TDC tilbyder eks (boks 2):
1024 kbit/s
2048 kbit/s
4096 kbit/s
Og i uploadsboksen skal der eks komme (boks 3):
256 kbit/s
512 kbit/s
1024 kbit/s
Vælger man Telia kommer der eks.
Download (boks 2):
512 kbit/s
1024 kbit/s
Upload (boks 3:
128 kbit/s
256 kbit/s
512 kbit/s
Sådan et script fik jeg hjælp til at lave sidste år af roenving :) - men dette skal kunne noget mere. Man skal eks. kunne gemme sit teleselsskab eks. TDC og sin hastighed eks. 4096 kbit/s i download og 512 kbit/s i upload. Så ligeså snart formen loades ville de værdier være selected. Og valuen skal kunne være en anden, her ville jeg gerne have valuen til at være 4096 og 512 (uden kbit/s). Hvis man ikke gemmer / bruger "selected", skal det bare være som ovenover. Man skal også kunne trække valuen ud fra selsskab, her skulle valuen gerne være eks. tdc ved TDC.
Her er dette script vi kom frem til sidste år.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Skift flere selects</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;}
</style>
<script language="javascript" type="text/javascript">
var sp = [];
sp[sp.length] = [ ["1024 kbit/s","2048 kbit/s","4096 kbit/s"], ["256 kbit/s","512 kbit/s","1024 kbit/s"] ];
sp[sp.length] = [ ["512 kbit/s","1024 kbit/s"], ["128 kbit/s","256 kbit/s","512 kbit/s"] ];
sp[sp.length] = [ ["7200 kbit/s","2048 kbit/s","4096 kbit/s"], ["256 kbit/s","512 kbit/s","1024 kbit/s"] ];
function showSpeeds(elm){
var sels = [elm.form.download, elm.form.upload];
sels[0].length = 1;
sels[1].length = 1;
var arrNum = elm.selectedIndex-1;
if(arrNum>=0){
for(i=0;2>i;i++){
for(j=0,jm=sp[arrNum][i].length;jm>j;j++){
sels[i].options[sels[i].length] = new Option(sp[arrNum][i][j],j);//det sidste ,j giver en value på optionen
//denne value kan måske undværes, hvis du bare skal bruge værdien direkte
}
}
}
}
window.onload = function(){
showSpeeds(document.getElementById("selskab"));
}
</script>
</head>
<body>
<form id="minForm" name="minForm">
Vælg selskab:<br>
<select name="selskab" id="selskab" onchange="showSpeeds(this);">
<option value="">-- Vælg her --<br>
<option value="TDC">TDC<br>
<option value="Telia">Telia<br>
<option value="3">3<br>
</select>
<br>Vælg downloadhastighed:<br>
<select name="download" id="download">
<option value="">-- Vælg her --<br>
</select>
<br>Vælg uploadhastighed:<br>
<select name="upload" id="upload">
<option value="">-- Vælg her --<br>
</select>
<br>
<input type="submit" value="send">
</form>
</body>
</html>
Men det skal som sagt kunne loades ind som selected i starten og så skal der være nogle andre valuer.
Kan det lade sig gøre?