MzMedlem sedan aug. 2001139 inlägg 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>"
%>
Tacksam för svar!
------------------
~ Mz ~
mrblondeMedlem sedan aug. 20012 349 inlägg 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.
[r] rättade min kod lite :)
------------------
calling me a motherfucker, saying he's gonna blow me away and blah, blah, blah, blah, blah.
National Blonde Day!
[Redigerat av mrblonde den 23 aug 2001]
MzMedlem sedan aug. 2001139 inlägg Tack, jag provalerar. ;)
------------------
~ Mz ~
MzMedlem sedan aug. 2001139 inlägg Jag får det inte att fungera så bra...
Jag använder samma funktion som du skrev, sedan denna kod:
<option value="action.asp?action=show_state&areaID=<%=refID%>&stateID=<%=rsID%>" <%=IIF((rsID) = Request.Querystring("stateID")," SELECTED ","")%>><%=rsState%>
Inga felmeddelande, dock blir inga <options> SELECTED.
------------------
~ Mz ~
jorgenMedlem sedan feb. 20012 412 inlägg asch, läste totalt fel :(
Jörgen
[Redigerat av jorgen den 23 aug 2001]
MzMedlem sedan aug. 2001139 inlägg Jag har även försökt detta:
<option value="action.asp?action=show_state&areaID=<%=refID%>&stateID=<%=rsID%>" <% If rsID = Request.Querystring("stateID") Then Response.Write " SELECTED"%>><%=rsState%>
Men det fungerar inte heller.. :/
------------------
~ Mz ~
MzMedlem sedan aug. 2001139 inlägg Skriver jag ut <%=rsID%> och <%=Request.Querystring("stateID")%> så visar dem samma värde, men <option> blir inte SELECTED.. :(
------------------
~ Mz ~
@ndersMedlem sedan juni 200032 969 inlägg if clng (rsID) = clng(Request.Querystring("stateID")) then...
problemet kan vara att variablerna är av olika subtyper, så du får först konvertera dem till samma, exempelvis long.
mvh,
------------------
mördar-anders, det är jag.
MzMedlem sedan aug. 2001139 inlägg "The king has spoken..."
@nders - Det fungerar "kungligt" bra! ;)
Tack!
------------------
~ Mz ~
MzMedlem sedan aug. 2001139 inlägg hmmm.. märker att jag ibland får felmeddelandet:
Inkompatibla typer: 'clng'
Vad kan det bero på måntro?
------------------
~ Mz ~
@ndersMedlem sedan juni 200032 969 inlägg vad har du i variabeln då du får felmeddelandet?
long är alltså tal, om du ska göra strängjämförelser använder du cstr(), om du ska jämföra datum använder du cdate().
------------------
mördar-anders, det är jag.
MzMedlem sedan aug. 2001139 inlägg Hej.
Det är siffror jag skall jämför så cstr fungerade mycket bättre, tack!
------------------
~ Mz ~
@ndersMedlem sedan juni 200032 969 inlägg 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.
mvh,
------------------
mördar-anders, det är jag.
MzMedlem sedan aug. 2001139 inlägg Tack för den snabblektionen!
*kastar aspboken och lägger till WF i favoriterna*
;)
------------------
~ Mz ~