Leonard <piper28a@gmail.invalid> writes:
> I følgende html-kode:
>
> <label>Airfield type: <select name='type'>
> <option value='hpriv'>Private Hard Surface</option>
> <option value='gpriv'>Private Grass Surface</option>
....
> <option value='regional'>Regional International</option>
> <option value='major'>Major International</option>
> <option value='ulfield'>Ultralight</option>
> <option value='glider'>Gliders</option>
> </select></label><br />
> <label>Runway Surface <select name='rw_typ'>
> <option value='Asphalt'>Asphalt</option>
> <option value='Grass'>Grass</option>
> </select></label><br />
>
> vil jeg gerne sætte det sidste valg efter hvad der er valgt i det
> første valg.
Til hvad? Jeg kan ikke se at overstående options indeholder nok
information til at vælge overfladen ud fra.
En løsning kunne være:
<select name='type'
onchange="this.form.elements['rw_typ'].selectedIndex =
isGrass(this.options[this.selectedIndex].value)?1:0;">
Med scriptet:
<script type="text/javascript">
var grassTypes { gpriv: true, gnat: true, ginter: true,
ulfield: true, glider: true };
function isGrass(type) {
return Boolean(grassTypes[type]);
}
</script>
Alternativt kunne man putte noget på option'erne så man direkte
kunne se om de var græs eller ej:
<select name='type' onchange="
this.form.elements['rw_typ'].value =
this.options[this.selectedIndex].className;">
<option value='hpriv' class='Asphalt'>Private Hard Surface</option>
<option value='gpriv' class='Grass'>Private Grass Surface</option>
...
Jeg anbefaler den sidste metode, da man undgår at skulle holde
opslagstabellen og den første select synkroniserede når man tilføjer
flere muligheder (og man er ikke begrænset til to typer ... bruger
man slet ikke beton-landingsbaner mere?)
Og så kan man style sine options hvis man har lyst:
<style type="text/css">
option.Asphalt { background: #f0f0f0; }
option.Grass { background: #f0fff0; }
</style>
Held og lykke
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'