Avatar billede pablo Nybegynder
20. november 2003 - 19:41 Der er 5 kommentarer

Rækkefølge i rullegardin

Hej
Jeg har et rullegardin, hvor jeg skriver et antal poster ud i fra en database. Hvis man tidligere har udfyldt rullegardinet med en værdi og gemt det i databasen, så SELECT'er jeg værdien i rullegardinet, og ellers så skal der bare stå: "Vælg" i rullegardinet. Det har jeg lavet med følgende kode:

response.Write "<select name=spec" & i & " style='" & tablestyle70 & "'>"
Response.Write "<option value=0>-Vælg-</option>"

Do while NOT objRS.EOF
    if objRS("spec_id") = cint(spec(i)) then
        Response.Write "<option value=" & objRS("spec_id") & " SELECTED>" & objRS("spec_navn") & "</option>"
    else
        Response.Write "<option value=" & objRS("spec_id") & ">" & objRS("spec_navn") & "</option>"
    end if
    objRS.MoveNext
Loop

response.write "</select>"



Problemet er, at hvis der ikke tidligere er valgt noget (som er gemt i databasen), så er det altid den sidste værdi jeg udskriver fra databasen der vises.

Hvordan laver jeg det sådan, at hvis den bare skal skrive posterne ud fra databasen, og proppe dem ind i rullegardinet, at den så vælger den første linie (den jeg statisk skriver ud, hvor der står: "Vælg") ?
Avatar billede dk_akj Nybegynder
20. november 2003 - 19:57 #1
Prøv lige dette:

Response.Write "<option value=0>-Vælg-""SELECTED""</option>"

Do while NOT objRS.EOF
    if objRS("spec_id") = cint(spec(i)) then
        Response.Write "<option value=" & objRS("spec_id") & " SELECTED>" & objRS("spec_navn") & "</option>"
    else
        Response.Write "<option value=" & objRS("spec_id") & ">" & objRS("spec_navn") & "</option>"
    end if
    objRS.MoveNext
Loop

response.write "</select>"

//akj
Avatar billede pablo Nybegynder
20. november 2003 - 20:28 #2
Hej akj
Jeg kan godt se din ide med at sætte den statiske entry i rullegardinet til SELECTED, men jeg har lige prøvet det, og det gør desværre ingen forskel.
Avatar billede danielmuhlig Nybegynder
21. november 2003 - 16:07 #3
Response.Write "<option value=0>-Vælg-""SELECTED""</option>"

skulle vel have være

Response.Write "<option value=0 SELECTED>-Vælg-</option>"
Avatar billede danielmuhlig Nybegynder
21. november 2003 - 16:34 #4
Prøv at vise den HTML kode, der bliver genereret. Der må være en eller anden fejl :-)
Avatar billede cool_casper Nybegynder
21. november 2003 - 17:14 #5
Response.Write "<select name=spec" & i & " style='" & tablestyle70 & "'>"
blnFound = False

Do while NOT objRS.EOF
    if objRS("spec_id") = cint(spec(i)) then
        Response.Write "<option value=" & objRS("spec_id") & " SELECTED>" & objRS("spec_navn") & "</option>"
    blnFound = False
    else
        Response.Write "<option value=" & objRS("spec_id") & ">" & objRS("spec_navn") & "</option>"
    end if
   
    If NOT blnFound then Response.Write "<option value=0>-Vælg-</option>"    objRS.MoveNext
Loop

response.write "</select>"
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