Avatar billede nybroe Nybegynder
13. marts 2005 - 12:55 Der er 11 kommentarer og
2 løsninger

Session select i dropdown

Hvis man har en formular med en dropdown-boks med nogle værdier som man så sender til en anden side. Her laver man en session på den værdi, der er valgt i dropdown-boksen. Men hvis man så går tilbage til siden, hvordan kan man så lade den valgte <option> være selected?

Dropdown-boksen er ren html, dvs. uden databaseudtræk.
Avatar billede moejensen Nybegynder
13. marts 2005 - 13:01 #1
du tjekker på sessionen når du udskriver din selectbox
Avatar billede moejensen Nybegynder
13. marts 2005 - 13:03 #2
ex:

<select name="test">
    <option value=""></option>             
    <option value="test 1" <%If session("test") ="test 1" Then Response.write("Selected")%>>test 1</option>
    <option value="test 2" <%If session("test") ="test 2" Then Response.write("Selected")%>>test 2</option>
</select>
Avatar billede nybroe Nybegynder
13. marts 2005 - 13:18 #3
Jeg bruger denne metode på de almindelige input-felter, men problemet opstår der hvor der er 50 værdier eller mere. Tænkte om det kunne gøres smartere....??
Avatar billede moejensen Nybegynder
13. marts 2005 - 13:21 #4
er det et variabelt antal select muligheder?

hvad er den værdi der står i sessionen?

hvilke valgmuligheder er der i selectboxen?
Avatar billede nybroe Nybegynder
13. marts 2005 - 13:24 #5
Jeg har en med fødselsår, der går helt tilbage til 1905 - så det ville være smart med en funktion, uden at skulle skrive if-sætninger ind i alle sammen....
Avatar billede moejensen Nybegynder
13. marts 2005 - 13:26 #6
okay, leger lige lidt med det - hvor langt skal den gå op
Avatar billede moejensen Nybegynder
13. marts 2005 - 13:28 #7
prøv det her:

<select name="test">
    <option value=""></option>
    For i = 1905 to 2010
        If session("test") = i Then
            response.write("<option value=""&i&"" Selected>"&i&"</option>")
        Else
            response.write("<option value=""&i&"">"&i&"</option>")
        End If
    Next
</select>
Avatar billede nybroe Nybegynder
13. marts 2005 - 13:31 #8
bare til det år vi er i ->  f.eks. year(date())  i stedet for 2010
Avatar billede moejensen Nybegynder
13. marts 2005 - 13:39 #9
det setter du bare ind
Avatar billede nybroe Nybegynder
13. marts 2005 - 14:11 #10
hmm, det virker ikke rigtigt. Den står på 1905 lige meget hvad. Har lavet en response.write på sessionen, og den virker..?
Avatar billede moejensen Nybegynder
13. marts 2005 - 14:18 #11
så prøv lige at skrive sådan her: CInt(i)

If session("test") = CInt(i) Then
Avatar billede nybroe Nybegynder
13. marts 2005 - 14:19 #12
tankeoverførsel - har lige prøvet det - og det virker. Takker ;-)
Avatar billede moejensen Nybegynder
13. marts 2005 - 14:27 #13
super.
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
Kurser inden for grundlæggende programmering

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