/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
ændre select efter anden select
Fra : Leonard


Dato : 10-05-07 17:45

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='hnat'>National Hard Surface</option>
   <option value='gnat'>National Grass Surface</option>
   <option value='hinter'>Small International Hard Surface</option>
   <option value='ginter'>Small International 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.

--
Leonard
http://vw.leonard.dk/

 
 
Martin (11-05-2007)
Kommentar
Fra : Martin


Dato : 11-05-07 00:02

Leonard wrote:
> I følgende html-kode:
>

javascript...
<script type='text/javascript'>
function show() {
s = document.getElementById('type');
s2 = document.getElementById('label');
if(s[s.selectedIndex].value) s2.style.display = 'block';
else s2.style.display = 'none';
}
</script>


<label>Airfield type: <select name='type' id='type' onchange='show()'>


<label id='label' style='display:none;'>
Runway Surface <select name='rw_typ'>
   <option value='Asphalt'>Asphalt</option>
   <option value='Grass'>Grass</option>
</select></label><br />


Noget i denne stil måske

Leonard (11-05-2007)
Kommentar
Fra : Leonard


Dato : 11-05-07 10:15

On Fri, 11 May 2007 01:02:08 +0200, Martin wrote:

> <label id='label' style='display:none;'>
> Runway Surface <select name='rw_typ'>
>    <option value='Asphalt'>Asphalt</option>
>    <option value='Grass'>Grass</option>
> </select></label><br />
>
> Noget i denne stil måske

Øh, nej det tror jeg ikke.
Det er ikke et spørgsmål om at vise eller skjule, men om at vælge. Så
vidt jeg kan se, så viser dit script bare selectboksen, den vælger ikke
et af valgene.

--
Leonard
http://vw.leonard.dk/

Erik Ginnerskov (11-05-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 11-05-07 13:46

Leonard wrote:
> I følgende html-kode:
>
> <select name='type'>
> <option ...
> ...</option>
> </select>..<br />
> <select name='rw_typ'>
> <option ...
> ...</option>
> </select>
>
> vil jeg gerne sætte det sidste valg efter hvad der er valgt i det
> første valg.

Det har jeg skrevet noget om her:

http://hjemmesideskolen.dk/html/formular.asp?id=formus&content=fmselect#multiselect

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Leonard (11-05-2007)
Kommentar
Fra : Leonard


Dato : 11-05-07 13:58

On Fri, 11 May 2007 14:46:14 +0200, Erik Ginnerskov wrote:

>> vil jeg gerne sætte det sidste valg efter hvad der er valgt i det
>> første valg.
>
> Det har jeg skrevet noget om her:

Ikke helt det jeg vil.

Der skal ikke ændres i de optons, der er i hverken den første eller den
anden select. Der skal selectes en option i den anden select, når der
selectes en option i den første.

Der er kun 2 muligheder i den anden select, og det er de samme to
muligheder, der skal være der hele tiden, den ene skal bare vælges.

--
Leonard
http://vw.leonard.dk/

Lasse Reichstein Nie~ (12-05-2007)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 12-05-07 12:28

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.'

Leonard (13-05-2007)
Kommentar
Fra : Leonard


Dato : 13-05-07 10:36

On Sat, 12 May 2007 13:27:40 +0200, Lasse Reichstein Nielsen wrote:

> 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>

Tak det er lige somjeg gerne vil have det.

Og måske kommer der flere typer til, men der er mig bekendt ikke andre
typer i DK ligenu.
Hvis sitet bliver udvidet til at dække flere lande er det dog
sandsynligt med forskellige andre typer.
Sitet kan ses her: http://airfield.leonard.dk/

--
Leonard
http://vw.leonard.dk/

Christian Hansen (13-05-2007)
Kommentar
Fra : Christian Hansen


Dato : 13-05-07 11:56

Leonard wrote:
> On Sat, 12 May 2007 13:27:40 +0200, Lasse Reichstein Nielsen wrote:
>
>> 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>
>

Man kunne jo også kigge på option-objectet text-egenskab, der indeholder
strengene options[0].text = Private Hard Surface og options[1].text =
Private Grass Surface

Se evt.
<http://www.chrsen.dk/fundanemt/files/scripter/javascript/misc/select.html>,
hvor man ved klik på "Show option" får vist både value og text.

Mvh Christian

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste