Har ett droppdown-fält i vilket det sifrorna 1 till 12 listas. Men jag vill att talen 1 till och med 9 skall ha en nolla framför sig. Ful kod men.. eller............. problemet är dock... response.write "<Select name='myYear'>" Jippi! Jag vet inte hur orginel dena ideén är. Me är ett sätt att slipper en for loop. Kanske rent av är snabbare. Testade med det som du skrev Andreas men får följande felmeddelande: Här är koden som jag nu använder och som verkar fungera: Missade att amn inte kan bryta en textkonstant i VB.Lista månader i dropdownlist (01 till 12)
Talen som jag vill ha listade är alltså:
01 02 03 04 05 06 07 08 09 10 11 12
<%
response.write "<Select name='myYear'>"
response.write "<OPTION value='0'>Månad</OPTION>"
For i = 01 to 12 step +1
response.write "<OPTION value='"&i&"'"
If i =Str_dMonth then
Response.write " selected"
Else
End if
Response.write ">"&i&"</OPTION>"
next
response.write "</Select>"
%>
Sv: Lista månader i dropdownlist (01 till 12)
<code>
<%
response.write "<Select name='myYear'>"
response.write "<OPTION value='0'>Månad</OPTION>"
For i = 01 to 12 step +1
response.write "<OPTION value='"
If i < 10 Then
Response.Write 0 & i
Else
Response.Write i
End If
Response.Write "'"
If i =Str_dMonth then
Response.write " selected"
Else
End if
Response.write ">"
If i < 10 Then
Response.Write 0 & i
Else
Response.Write i
End If
Response.Write "</OPTION>" & vbCrLf
next
response.write "</Select>"
%>
</code>Sv: Lista månader i dropdownlist (01 till 12)
<code><%
response.write "<Select name='myYear'>"
response.write "<OPTION value='0'>Månad</OPTION>"
Dim s
s = "0"
For i = 1 to 12
If i >9 Then
s = ""
End If
response.write "<OPTION value='"&i&"'"
If i =Str_dMonth then
Response.write " selected"
Else
End if
Response.write ">"&s & i&"</OPTION>"
next
response.write "</Select>"
%></code>Sv: Lista månader i dropdownlist (01 till 12)
Str_dMonth-värdet är av den typ att om det är månad ett tillochmed 9 så står det en nolla framför.
Alltså går det inte att bara lägga till en nolla eftersom i-värdet i så fall ändå bara blir tillexempel "1". Månad ett skulle då inte makeras eftersom i-värdet är "1" och Str_dMonth-värdet är "01". Eller?
Förstår ni vad jag menar?Sv: Lista månader i dropdownlist (01 till 12)
response.write "<OPTION value='0'>Månad</OPTION>"
For i = 1 to 12 'step +1
If i <= 9 Then
i = "0" & i
End If
response.write "<OPTION value='"&i&"'"
If i = Str_dMonth then
Response.write " selected"
Else
End if
Response.write ">"&i&"</OPTION>"
Next
response.write "</Select>" Sv: Lista månader i dropdownlist (01 till 12)
Tack skall ni ha.
Till slut funkar det.
...och fin kod blev det ju också :)
-------------------------------------------------------------------------
OJ. DET FUNGERAR TROTTS ALLT INTE!
Testat lite till nu och märkte att det inte funkade riktigt.
Har Str_dMonth värde 01 till och med 09 så makeras inte den månaden i dropdownlistan men är värdet 10 eller högre så fungerar allt som det ska.
-------------------------------------------------------------------------
Ha ha. Idag är man visst inte på hugget. Visst fungerade det. Bara jag som var lite vilsen. :)Sv: Lista månader i dropdownlist (01 till 12)
<code>
Const Options = "<OPTION value='0'>Månad</OPTION>" & _
"<OPTION value='1'>01</OPTION>" & _
"<OPTION value='2'>02</OPTION>" & _
"<OPTION value='3'>03</OPTION>" & _
"<OPTION value='4'>04</OPTION>" & _
"<OPTION value='5'>05</OPTION>" & _
"<OPTION value='6'>06</OPTION>" & _
"<OPTION value='7'>07</OPTION>" & _
"<OPTION value='8'>08</OPTION>" & _
"<OPTION value='9'>09</OPTION>" & _
"<OPTION value='10'>10</OPTION>" & _
"<OPTION value='11'>11</OPTION>" & _
"<OPTION value='12'>12</OPTION>"
Response.Wite "<Select name='myYear'>"
Response.Write Replace(Options, "'" & Str_dMonth & "'", "'" & Str_dMonth & "' selected", 1, 1)
Response.Write "</Select>"
</code>Sv: Lista månader i dropdownlist (01 till 12)
Microsoft VBScript compilation error '800a0415'
Expected literal constant
/bli_medlem.asp, line 265
"<OPTION value='12'>12</OPTION>"
--------------------------------^
Pilen pekar efter sista ".Sv: Lista månader i dropdownlist (01 till 12)
<code>
If Str_dMonth>=10 then
Str_dMonth=Cint(Str_dMonth)
else
end if
response.write "<Select name='dMonth'>"
response.write "<OPTION value='0'>Månad</OPTION>"
For i = 1 to 12 'step +1
If i <= 9 Then
i = "0" & i
End If
response.write "<OPTION value='"&i&"'"
If i = Str_dMonth then
Response.write " selected"
Else
End if
Response.write ">"&i&"</OPTION>"
Next
response.write "</Select> - "
</code>Sv: Lista månader i dropdownlist (01 till 12)
Finns två alternativ. Använda variabel:
<code>
Dim Options
Options = "<OPTION value='0'>Månad</OPTION>" & _
"<OPTION value='1'>01</OPTION>" & _
"<OPTION value='2'>02</OPTION>" & _
"<OPTION value='3'>03</OPTION>" & _
"<OPTION value='4'>04</OPTION>" & _
"<OPTION value='5'>05</OPTION>" & _
"<OPTION value='6'>06</OPTION>" & _
"<OPTION value='7'>07</OPTION>" & _
"<OPTION value='8'>08</OPTION>" & _
"<OPTION value='9'>09</OPTION>" & _
"<OPTION value='10'>10</OPTION>" & _
"<OPTION value='11'>11</OPTION>" & _
"<OPTION value='12'>12</OPTION>"
Response.Wite "<Select name='myYear'>"
Response.Write Replace(Options, "'" & Str_dMonth & "'", "'" & Str_dMonth & "' selected", 1, 1)
Response.Write "</Select>"
</code>
Eller inte bryta konstant:
<code>
Const Options = "<OPTION value='0'>Månad</OPTION><OPTION value='1'>01</OPTION><OPTION value='2'>02</OPTION><OPTION value='3'>03</OPTION><OPTION value='4'>04</OPTION><OPTION value='5'>05</OPTION><OPTION value='6'>06</OPTION><OPTION value='7'>07</OPTION><OPTION value='8'>08</OPTION><OPTION value='9'>09</OPTION><OPTION value='10'>10</OPTION><OPTION value='11'>11</OPTION><OPTION value='12'>12</OPTION>"
Response.Wite "<Select name='myYear'>"
Response.Write Replace(Options, "'" & Str_dMonth & "'", "'" & Str_dMonth & "' selected", 1, 1)
Response.Write "</Select>"
</code>
Nu bör det i alla fall fungera. ;o)