Dynamisk select - 2 muligheder

Tags:    javascript

<< < 12 > >>
Hej

Jeg mangler et dynamic select script med 2 muligheder eks.

Boks 1 hedder: Postnummer
Boks 2 hedder: Landsdel
Boks 3 hedder: Byer

Når man loader siden skal alle byer være listet op i boks 3, vælger man så enten postnummer, eller landsdel, skal den vælge byerne indenfor en af de områder.

Kan man ikke gøre sådan, at man udskriver en lang liste med det hele

forklaring:
by[1] = new Array( "id", "postnummer", "landsdel", "by"); -

eks:
by[1] = new Array( "1", "1000", "Sjælland", "København");
by[2] = new Array( "2", "5000", "Fyn", "Odense");
by[3] = new Array( "3", "6000", "Sønderjylland", "Fredericia");
by[4] = new Array( "4", "9000", "Nordjylland", "Ålborg");

dette er bare et eksempel - postnr. passer ikke med byerne - men alle byerne vil jeg taste ind i en database - så vil det være nemmest at genere sådan en list med et array, vil det ikk?

By navnet skal stå i boks 3 - men valueèn skal være idèt

Håber i forstår ellers spørg :)

En der kender et scipt der ligner dette?



16 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udHTML kode 




Sådan! Nu har jeg brugt ca. 1 time på det her, så det har bare at være godt nok!
Koden er testet, og burde meget gerne vide!
Håber du selv kender lidt til PHP og MySQL, ellers skal jeg også nok forklare det.
Men anyways her er eksemplet:
Fold kodeboks ind/udKode 




Det virker desværre ikke

Den reagere ikke når man trykker på på noget.

Desuden når man åbner scriptet skal den loade alle array'sne ind i by boksen, med id, som value.



Du kan tro at den reagere!!
Prøv selv at gå herind: http://w3schools.com/html/tryit.asp?filename=tryhtml_basic og Copy/Paste koden.
Hvis det er fordi du ikke forstår den, så bed om en forklaring istedet for. Og hvis det er fodi du har ændret i det, og det ikke virker har du STADIG ikke forstået koden. Bed derfor om hjælp, hvis det er det...:S



Ja, den virker i Firefox, men ikke i IE 7 - hvilket den også skulle kunne :)

Desuden kan man ikke trække data fra array'sne i by select boksen - for det kræver mere trafik, at den skal loade 2 gange, desuden skal der tilføjes id i value i by boksen og i array'sne ..

Men ellers godt arbejde, dog med et par små fejl :)



Sådan opdateret kode: Virker i både IE og FF
Fold kodeboks ind/udKode 


Du må lige forklare hvad du mener med: "Desuden kan man ikke trække data fra array'sne i by select boksen - for det kræver mere trafik, at den skal loade 2 gange, desuden skal der tilføjes id i value i by boksen og i array'sne ."



Hvis vi nu tager byer, så starder de sådan her:

<select id="byer" size="5">
<option value="0">Herlev</option>
<option value="1">Søborg</option>
<option value="2">Something</option>
</select>

Istedet for at indsætte dataene sådan, skal man lave en onload funktion, som trækker alle byerne fra arraysne ind og så skal valuen i select boksen være et id, som står i array'et.

byArray = new Array(
Array("herlev", "Herlev", 2730, "sjaelland"), Array("soborg", "Søborg", 2860, "sjaelland"), Array("something", "Something", 2620, "fyn"));
tempArray = new Array();

Et array skal være sådan her:
Array("id", "by", postnummer, "landsdel"),

og så når man loader skal alle disse byer trækkes ind i "byer" boksen, hvor value'en eller værdien skal være idét og så skal byen stå der, for så skal det hele loades engang det sparer vel trafik/belastning på serveren, der er trods alt 1700 byer :)

Det ville også være fint hvis man kunne lave en Alle i postnr og by, så man kan se alle byerne igen.

Håber det var forklaring nok, ellers spørg :)

Jeg er ikke ret god til javascript er bedre til php, men tak fordi du gider bruge tiden på det :):)



Indlæg senest redigeret d. 29.07.2008 05:32 af Bruger #14031
OK onload function on it's way!... :S
Øhm må jeg foreslå at et array ser sådan her ud:
Array("id","by","bynavn","postnummer","landsdel")
Da det er svært at sammeligne bogstaver som æ, ø og å. Og vi har jo riemlig mange byer i DK med de bogstaver inkluderet i deres bynavn...



Hvad mener du? By navnene skal jo kun vises - det er id'et som er værdiet der skal trækkes ud af formen :)



Deler du byer, postnummre og landsdele i hver sin table?



<< < 12 > >>
t