18. oktober 2002 - 13:08Der 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?
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:)
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.