webForumDet fria alternativet

Listmeny

9 svar · 558 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

Hej :)

Har följande kod som "minns" vilket alternativ som var valt vid en submit.

          <select name="taskStatus" id="taskStatus" onChange="this.form.submit();">
            <option value="0" <% If iStatus = 0 then response.write "selected" %>>Planerat</option>
            <option value="1" <% If iStatus = 1 then response.write "selected" %>>Utskickat</option>
            <option value="2" <% If iStatus = 2 then response.write "selected" %>>Mottaget</option>
            <option value="3" <% If iStatus = 3 then response.write "selected" %>>P&aring;g&aring;ende</option>
            <option value="4" <% If iStatus = 4 then response.write "selected" %>>Klart</option>
            <option value="5" <% If iStatus = 5 then response.write "selected" %>>Exporterat</option>
          </select>

nu vill jag även att ladda om sidan med

onChange="this.form.submit();"

då funkar det ju inte eftersom den utgår från iStatus.

Hur gör man för att det ska funka?

Mvh
henrik

doggelitoMedlem sedan juni 20003 076 inlägg
#2

Hmm, känns som iStatus inte har i den listmenyn att göra tycker jag men detta kanske går:

<option value="0" <% If taskStatus = 0 Or iStatus = 0 then response.write "selected" %>>Planerat</option>
devotionMedlem sedan jan. 20013 582 inlägg
#3

hej!
iStatus är det värdet som hämtas från databasen så att listmenyn ska "stå rätt" när man öppnar sidan.

Ska testa!

Mvh
henrik

devotionMedlem sedan jan. 20013 582 inlägg
#4

nä det fungerar inte. Listmenyn ställer sig i det läget som matchar iStatus...

Mvh
henrik

doggelitoMedlem sedan juni 20003 076 inlägg
#5

devotion skrev:

iStatus är det värdet som hämtas från databasen så att listmenyn ska "stå rätt" när man öppnar sidan.

Kan du inte sätta ett defaultvärde på taskStatus istället för iStatus vid ingången till sidan, typ:

<%
     taskStatus = "1" 'kan hämtas från databas
     ...
     If Request.ServerVariables("REQUEST_METHOD") = "post" Then
          taskStatus = Request.Form("taskStatus")
     End If
%>

<option value="1" <% If taskStatus = "1" then response.write "selected" %>>Planerat</option>
devotionMedlem sedan jan. 20013 582 inlägg
#6

hmm

Du hade rätt angående det..

Hmm, känns som iStatus inte har i den listmenyn att göra tycker jag

Eller jag ställde frågan lite fel...

Sitter iaf och testar..

Mvh
Henrik

devotionMedlem sedan jan. 20013 582 inlägg
#7

Hej! :)

Jag gjorde så här

iStatus = cInt(objRS("Status"))
...
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
	iStatus = Request("taskStatus")
End If
...
          <select name="taskStatus" id="taskStatus" onChange="this.form.submit();">
            <option value="0" <% If iStatus = 0 then response.write "selected" %>>Planerat</option>
            <option value="1" <% If iStatus = 1 then response.write "selected" %>>Utskickat</option>
            <option value="2" <% If iStatus = 2 then response.write "selected" %>>Mottaget</option>
            <option value="3" <% If iStatus = 3 then response.write "selected" %>>P&aring;g&aring;ende</option>
            <option value="4" <% If iStatus = 4 then response.write "selected" %>>Klart</option>
            <option value="5" <% If iStatus = 5 then response.write "selected" %>>Exporterat</option>
          </select>

Och det funkar... Är det en bra lösning?

Mvh
Henrik

@ndersMedlem sedan juni 200032 969 inlägg
#8

Jag tycker att det är en bra lösning. Precis så hade jag nog också gjort. :)

Mvh

doggelitoMedlem sedan juni 20003 076 inlägg
#9

Ser bra ut! (y)
Dock till nästa gång, fundera på att göra en array istället, det blir lite enklare att hantera då. :)
Litet exempel:

Dim arrTaskStatus, i, Selected
arrTaskStatus = Split("Planerat,Skickat,Mottaget", ",")

Response.Write("<select name="taskStatus" id="taskStatus" onChange="this.form.submit();">")

For i = 0 To uBound(arrTaskStatus)
     Selected = ""
     If i = iStatus Then Selected = "selected"
     Response.Write("<option value=""" & i & """ " & Selected & ">" & arrTaskStatus(i) & "</option>")
Next

Response.Write("</select>")
devotionMedlem sedan jan. 20013 582 inlägg
#10

Ahhh, snyggt!

Ska peta in den koden och använda den...

Mvh
henrik

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)