Avatar billede cdygaard Nybegynder
18. oktober 2002 - 13:08 Der er 1 kommentar og
2 løsninger

Select box uden værdier

Jeg er ved at lave en select box der starter med året nu og går 10 år frem i tiden, ved hjælp af en Do While ... Loop løkke, som ser sådan her ud:

intLoop = Right(Year(Date()), 2)
                If Right(intLoop, 1) <> 0 Then
                    If inStr(intLoop, 0) Then
                      intLoop = Right(intLoop, 1)
                    End If
                End If
                intLoopWhile = intLoop + 11
                If Len(strCCExpYear) = 1 Then
                    strCCExpYear = "0" + CStr(strCCExpYear)
                End If
                Response.Write "<SELECT NAME='ExpYear'>"
                Do While intLoop < intLoopWhile
                    If Len(intLoop) = 1 Then
                      intValue = "0" + CStr(intLoop)
                    Else
                      intValue = intLoop
                    End If
                    Response.Write "<OPTION VALUE='" & intValue & "'"
                    If strCCExpYear = intValue Then
                      Response.Write " SELECTED"
                    End If
                    Response.Write ">" & intValue & "</OPTION>"
                    intLoop = intLoop + 1
                Loop
                Response.Write "</SELECT><BR><BR>"

Problemet er bare at der absolut ikke kommer tal ind i select boxen, selvom variablen intValue ender med at have værdien 12, når jeg udskriver den tilsidst.
Hvad er der galt?
Avatar billede eagleeye Praktikant
18. oktober 2002 - 14:09 #1
måske hvis den tolder det ene tal som en tekst så prøv med:

Do While Int(intLoop) < Int(intLoopWhile)
Avatar billede tester01 Nybegynder
18. oktober 2002 - 14:27 #2
<%

intLoop = Right(Year(Date()), 2)
                If Right(intLoop, 1) <> 0 Then
                    If inStr(intLoop, 0) Then
                      intLoop = Right(intLoop, 1)
                    End If
                End If
                intLoopWhile = intLoop + 11
                If Len(strCCExpYear) = 1 Then
                    strCCExpYear = "0" + CStr(strCCExpYear)
                End If
                Response.Write "<SELECT NAME='ExpYear'>"
                Do While Int(intLoop) < Int(intLoopWhile)
                    If Len(intLoop) = 1 Then
                      intValue = "200" + CStr(intLoop)
                    Else
                      intValue = 20 & intLoop
                    End If
                    Response.Write "<OPTION VALUE='" & intValue & "'"
                    If strCCExpYear = intValue Then
                      Response.Write " SELECTED"
                    End If
                    Response.Write ">" & intValue & "</OPTION>"
                    intLoop = intLoop + 1
                Loop

%>


Ok, her har du din endelige kode. Den virker:) Det er rigtigt hvad eagleeye siger. den ene variabel bliver tolket som tekst.

Jeg har lige sat nogle hurtige tal på, så mulighederne vil blive 20XX. Det kan du selvfølgelig altid fjerne:)

Held og lykke.
Avatar billede cdygaard Nybegynder
18. oktober 2002 - 14:44 #3
Tak for det ;0)
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