On Tue, 24 Oct 2006 13:35:09 +0200, "Thrane" <kyskoen@stofanet.dk>
wrote:
>Jeg har ledt med lys og lygte efter en dropdown der viser ugedage.
>Jeg skal bruge den til et bordreservationsside og der skal man kunne vælge
>hvilken dag man gerne vil bestille bord.
>Det er ikke nok at det er med dato, da der er forskellige menuer på
>forskellige ugedage og disse skal vises efter valg af dag.
>
>Var det til at forstå!?
Både og.
Hvis du vil have en dropdown, der skal returnere 1 for mandag, 2 for
tirsdag osv., så er det bare at lave et array og loope det med en
udskrifts-funktion:
' Ugedagene som streng
' Arrays er nul-nummererede, derfor det første komma
strUgedage = ",Man,Tir,Ons,Tor,Fre,Lør,Søn"
' Ugedage som array
arrUgeDage = Split(strUgedage, ",")
Response.Write "<select name=""ugedag"">" & vbcrlf
' Loop gennem ugedagene med en udskriv-funktion
' 3-tallet er den selectede værdi
' - erstat den med den variabel, der angiver valgt dag
For x = 1 To 7
Response.Write fktGetOption(x, arrUgeDage(x), 3)
Next
Response.Write "</select>" & vbcrlf
' ********** Function start *****************
' ---- Udskriv options i foldeud-boxe ---
Function fktGetOption(value, OptionText, Selected)
Dim strOption
strOption = "<option value=""" & value & """"
If Selected = value Then
strOption = strOption & " selected"
End If
fktGetOption = strOption & ">" & OptionText & "</option>" & vbcrlf
End Function
' ********** Function slut ******************
Hvis du bruger XHTML skal du lige rette
" selected"
til:
" selected=""selected"""
Hvis du i stedet fx vil have de næste 7 dage, kan du bruge
Weekday-funktionen i loopen:
For x = 1 To 7
intUgedag = Weekday(DateAdd("d", x, Date), 2)
Response.Write fktGetOption(intUgedag, arrUgeDage(y), 3)
Next
(Det sidste 2-tal angiver, at første dag i ugen er mandag.)
Good luck!
--
Jørn Andersen,
Brønshøj