Har följande kod för att loopa ut alla options samt markera dem som besökaren valt (de valda ligger i Request.Form("wm_co") ) Egentligen kanske man borde splitta strängen till en array och jämföra så... men borde inte detta funka?? Denna kod fungerar men den markerar bara den första valet så om men väljer 5 och postar formuläret så markeras bara den första man valt på nästa sida ingen som kan? <b>ingen som kan?</b> så här ser värdet i Request.Form("wm_co") ut 7, 8, 9, 10, 11 det jag försöker uppnå är att utefter de värdena markera alternativ i en multiple select Testa sätta in ", " (dvs komma+mellanslag) istället för bara komma i mitt förslag ovan... Kanon Stefan, det funkar nu, tackar! No worries mateMarkera besökarens val i en select (Värdena kommer från en multipel select).
<code>
Sub county(strID)
Dim queryGetCounty
queryGetCounty = "SELECT * FROM county INNER JOIN nation ON county.co_na_id = nation.na_id WHERE na_id = "&strID&" ORDER BY co_title"
Set rstRecSet = objCon.Execute(queryGetCounty)
lngCo = Split(Request.Form("wm_co"),",")
Do While Not rstRecSet.EOF
%><option value="<%=rstRecSet("co_id")%>"<%If Clng(Request.Form("wm_co"))=Clng(rstRecSet("co_id")) Then Response.Write(" selected") End If%>><%=rstRecSet("co_title")%></option><%
rstRecSet.MoveNext
Loop
rstRecSet.Close
Set rstRecSet = Nothing
Set queryGetCounty = Nothing
End Sub
</code>
Hur gör jag nu för att markera alla de val som besökaren valt? Request.Form("wm_co") innehåller ju flera värden...Sv: Markera besökarens val i en select (Värdena kommer från en multipel select).
<code>
<%
If inStr("," & Request.Form("wm_co") & ",",cStr("," & rstRecSet("co_id") & ","))>0 Then
Response.Write(" selected")
End If
%>
</code>Sv:Markera besökarens val i en select (Värdena kommer från en multipel select).
<code>Sub county(strID)
Dim queryGetCounty
queryGetCounty = "SELECT * FROM county INNER JOIN nation ON county.co_na_id = nation.na_id WHERE na_id = "&strID&" ORDER BY co_title"
Set rstRecSet = objCon.Execute(queryGetCounty)
lngCo = Split(Request.Form("wm_co"),",")
Do While Not rstRecSet.EOF
%><option value="<%=rstRecSet("co_id")%>"<%If inStr("," & Request.Form("wm_co") & ",",cStr("," & rstRecSet("co_id") & ","))>0 Then Response.Write(" selected") End If%>><%=rstRecSet("co_title")%></option><%
rstRecSet.MoveNext
Loop
rstRecSet.Close
Set rstRecSet = Nothing
Set queryGetCounty = Nothing
End Sub</code>
Är det någon som har exempel att ge på det bästa sättet att lösa det på, snabbast, minst kod?Sv: Markera besökarens val i en select (Värdena kommer från en multipel select).
Sv: Markera besökarens val i en select (Värdena kommer från en multipel select).
Bråttom?
<b>så markeras bara den första man valt på nästa sida</b>
...och du är säker på att selecten på "nästa sida" är en multiple..? (syns inte i din kod)Sv:Markera besökarens val i en select (Värdena kommer från en multipel select).
Sv: Markera besökarens val i en select (Värdena kommer från en multipel select).
Sv:Markera besökarens val i en select (Värdena kommer från en multipel select).
Sv: Markera besökarens val i en select (Värdena kommer från en multipel select).