webForumDet fria alternativet
Logga in / Bli medlem

Listmeny

ASP

9 svar · 558 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Trådstart#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

Medlem 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>
Medlem 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

Medlem sedan jan. 20013 582 inlägg
#4

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

Mvh
henrik

Medlem 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>
Medlem 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

Medlem 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

Medlem sedan juni 200032 967 inlägg
#8

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

Mvh

Medlem 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>")
Medlem sedan jan. 20013 582 inlägg
#10

Ahhh, snyggt!

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

Mvh
henrik

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)