Hej.
Jag har lite strul med en sak, skulle behöva lite hjälp.
Jag skriver ut en dropDown från en Access2000 databas, databasen ser ut så här:
stateID | Räknare
State | PM
refID | Text
Sidan som länkar till sidan med dropdownen har länkar med olika län, varje län har ett unikt ID och ett klick på länken tar besökaren till sidan med dropDownen, när man entrar sidan visas två st dropmenyer, 1st med länen, 1st med kommunerna.
Nu vill jag att om man klickat på länken med ID2 så skall alternativ 2 i dropmenyn vara SELECTED så man kan se vilket län man klickade på. Klickar man sedan på drop-menyn med kommuner så skall den kommun man klickat på också bli till SELECTED, hur lyckas jag med detta?
Jag vill alltså att när Quersytringens värde stämmer överens med ett värde i databasen blir dess <option> SELECTED.
Hänger ni med?
Min kod som skriver ut dropmenyn med länen ser ut som följer:
<%
Response.Write "<form action=""*"">"
Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" align=""left""><tr><td>"
Response.Write "<select name=""till"" size=""1"" onChange=""en(this.form, this.name);"" style=""width: 110px;"">"
Response.Write "<option>Kommun:"
Response.Write "<option>"
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = "& Server.MapPath("..\db\states.mdb")
SQL = "SELECT * FROM data_states WHERE refID = '"& Request.Querystring("ID") &"'"
Set RecSet = Connect.Execute(SQL)
Do Until RecSet.EOF
rsID = RecSet("stateID")
refID = RecSet("refID")
rsState = RecSet("State")
Response.Write "<option value=action.asp?action=show_state&ID="& refID &"&stID="& rsID &">"& rsState
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
Response.Write "<option>"
Response.Write "</select>"
Response.Write "</td></tr></table>"
Response.Write "</form>"
%>
Function IIF(ByVal expr, ByVal v1, ByVal v2)
If expr Then
IIF = v1
Else
IIF = v2
End If
End Function
Sen kan man i option taggen slänga in
<option value="<%=rs("id")%>"<%=IIF(rs("id")=Request.querystring("id")," SELECTED ","")%>>Text som syns i dropdownen</option>
Du får byta ut rs("id") och request.querystring("id") mot det som det skulle vara.
cstr funkar för det mesta. grejen är du kan göra tal till strängar hur som helst, men inte strängar till tal.
cstr(123) ger dig en sträng som innehåller "123".
cdbl("123") ger dig en talet 123.
cdbl("en sträng") ger dig ett felmeddelande eftersom bokstäver inte kan göras om till tal.