Avatar billede hansen Nybegynder
09. november 2005 - 09:57 Der er 5 kommentarer og
1 løsning

Select med reload

Jeg har brug for at kunne reloade en side efter nyt valg af land så jeg kan lægge et beløb til ardren, jeg har følgende stump kode fra et tidligere projekt jeg har leget med:

<script language="JavaScript">
<!--
function jumppage(sel) {
var i = sel.selectedIndex
if (i!=0) { top.location.href = sel.options[i].value }
}
// -->
</script>

<select size="1" name="country" onchange="jumppage('http://www.domæne.dk/Default.asp?m=64&a=0&mode=cart&action=order');">
<option value="1" selected>x</option>
<option value="2">xx</option>
<option value="3">xxx</option>
<option value="4">xxxx</option>
<option value="5">xxxxx</option>
<option value="6">xxxxxx</option>
<option value="7">xxxxxxx</option>
<option value="8">xxxxxxxx</option>
</select>

Kan du hjælpe med at bygge det om så den altid reloader aktuelle side med diverse variabler fra URL'en.
Avatar billede hansen Nybegynder
09. november 2005 - 10:23 #1
Fandt løsningen selv, fjernede denne her del:

options[i].value, så virkede det, men den sætter altid 1 som default, kan du hjælpe med at få den til at huske hvad der var valgt efter reload istedet for ?
Avatar billede olebole Juniormester
09. november 2005 - 10:26 #2
<ole>

Det sætter du på serveren - udfra det, der er valgt. Du skal bare ende op med 'selected' i den valgte option, inden siden sendes tilbage til browseren:
    <option value="5" selected>xxxxx</option>

/mvh
</bole>
Avatar billede hansen Nybegynder
09. november 2005 - 10:29 #3
Har du et eksempel i ASP eller javascript?
Avatar billede hansen Nybegynder
09. november 2005 - 11:53 #4
lavet det lidt om med if then sætninger, boksen bliver kun vist nu hvis der ikke er valgt et land.

Tak for tiden du har brugt på at hjælpe, giver du et svar.
Avatar billede olebole Juniormester
09. november 2005 - 12:37 #5
Det, jeg mener er, at når dokumentet ankommer til serveren - og efter jumppage() er blevet kørt - findes der en variabel med navnet 'country' på serveren.

Når select'en skrives ud på serveren (jeg går udfra, det er, hvad du gør), checker du i løkken, hvornår den value, du skriver i din option er lig med værdien af variablen 'country'.
Er den det, er det den, brugeren valgte - og du kan gøre den selected. Noget i stil med (pseudokode):

If (country = rs(I).value) Then
  Response.Write "<option value=""" & rs(I).value & """ selected>" & rs(I).text & "</option>"
Else
  Response.Write "<option value=""" & rs(I).value & """>" & rs(I).text & "</option>"
End If
Avatar billede roenving Novice
10. november 2005 - 10:04 #6
Men scriptet skal jo benyttes således:

<script type="text/javascript">
function jumppage(sel) {
var i = sel.selectedIndex
if (i!=0) { top.location.href = sel.options[i].value }
}
</script>

<select size="1" name="country" onchange="jumppage(this);">
<option value="1" selected>Vælg land</option>
<option value="http://www.domæne.dk/Default.asp?m=64&a=0&mode=cart&action=order">DK</option>

...

</select>

-- iøvrigt kan script-blokken helt undgås:

<select size="1" name="country" onchange="if(this.selectedIndex>0)top.location.href =this.value);">
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester