Jakob Andersen wrote in dk.edb.internet.webdesign.clientside:
> "Anders Lund" <andersGED@zaim.dk> wrote
> > jeg har brug for at indholdet i et select input felt kan ændres, i forhold
> > til hvad der er valgt i et andet felt. Jeg har tænkt på at lave en række
> > layers med de forskellige selects og så skifte dem ud, efter hvad der står
> i
> > det andet felt. Er der en bedre løsning?
>
> Hvis jeg var dig ville jeg ikke bruge layers men istedet tilgå selectboksene
> og manipulere med deres elements array, jeg har lige lavet et hurtigt
> eksempel til dig her:
>
> <
http://www.cartoonhero.dk/dk.edb.internet.webdesign.clientside/afselect.htm
> l>
>
Fra ovenstående side:
function fyldFrugtGroent( arr, objSelect ){
objSelect.length = arr.length;
for(i=0;i<arr.length;i++){
objSelect.options[i].text = arr[i];
}
}
Det er ikke fordi det ikke virker, men er det ikke lidt "snyd" at sætte længden
på listen i stedet for at slette de overskydende, og derefter genbruger du de
gamle options i stedet for at lave nogle nye...
Jeg ville have brugt constructoren for Option-objektet:
Option([text[, value[, defaultSelected[, selected]]]])
i stedet til at lave noget lignende dette (utestet):
function fyldFrugtGroent( arr, objSelect ){
for(i = objSelect.length - 1; i >= 0; i--){
if (i > arr.length - 1)
// Denne plads skal ikke længere bruges -> vi slettet indholdet
objSelect.options[i] = null;
else
// Denne plads skal bruges -> vi indsætter det nye indhold
objSelect.options[i] = new Option(arr[i], arr[i]);
}
}
Lige i dette tilfælde ser det ikke ud til at der er forskel, men er der nogle
ulemper ved at "snyde" som jeg lidt synes Jakob gør? :)
> Ovenstående burde virke i såvel IE5+, Mozilla/Netscape6+ og Opera. Hvis du
> gerne vil have det til at virke i NN4 får du nok problemer med
> eventhandleren på selectboksen, men det kan løses ved at lave en lykke
> engang imellem tjekker om der er ændret valg i den første boks
I øvrigt ser det ud til at onChange virker i Netscape 4.x
mvh Torben
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials