Klaus Ambrass wrote in dk.edb.internet.webdesign.clientside:
> Hej,
>
> jeg laver en en intranetløsning hvor man på et tidspunkt skal vælge hvilket
> amt og hvilken kommune man arbejder med. Det skal være sådan, at vælger man
> et bestemt amt fra rulleboks A, så skal kun de kommuner, i det valgte amt,
> kunne vælges fra rulleboks B. Det skulle gerne gøres UDEN at man submitter
> formularen, for det forstyrrer de ansatte i den grad.
>
Nedenstående gør kun brug af simpel DOM og det bør kunne afvikles i alle gængse
browsers.
<HTML>
<HEAD>
<script type="text/javascript" language="JavaScript">
function Amt(id,navn,kommuner){
this.id = id;
this.navn = navn;
this.kommuner = kommuner.split(",");
}
var amter = new Array;
amter[0] = new Amt(1,"Århus","Århus,Galten,Hornslet,Hørning");
amter[1] = new Amt(2,"Fyn","Middelfart,Nr.Åby,Ejby,Assens,Odense");
amter[2] = new Amt(3,"Sønderjylland","Kruså,Tinglev,Vojens");
function populateKommuneCombo(amt){
for (var i = 0;i < document.form1.SelectKommune.options.length;i++)
document.form1.SelectKommune.options[i] = null;
for (var i = 0;i < amt.kommuner.length;i++){
var opt = new Option(amt.kommuner[i])
eval("document.form1.SelectKommune.options[i]=opt")
}
}
function SelectAmt_onchange() {
populateKommuneCombo(amter[document.form1.SelectAmt.options[document.form1.Sele
ctAmt.options.selectedIndex-1].value])
}
function populateAmtCombo(){
for (var i = 0;i < amter.length;i++){
var opt = new Option(amter[i].navn,amter[i].id)
eval("document.form1.SelectAmt.options[i+1]=opt")
}
}
</script>
<TITLE></TITLE>
</HEAD>
<BODY onload="populateAmtCombo()">
<form name="form1" id="form1">
Vælg Amt <SELECT id="SelectAmt" name="SelectAmt" LANGUAGE=javascript
onchange="return SelectAmt_onchange()">
<OPTION value="0">Vælg...</OPTION>
</SELECT>
Vælg Kommune <SELECT id="SelectKommune" name="SelectKommune">
<OPTION></OPTION>
</SELECT>
</form>
</BODY>
</HTML>
/Carsten
--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! =>
http://www.html.dk/editor