13. februar 2003 - 00:23Der er
13 kommentarer og 1 løsning
dropdown selected
Hvad er galt i nedenstående kode? Jeg får en Microsoft VBScript compilation error '800a03ea'
Syntax error
<% strSQL = "SELECT fotograf FROM dropdown ORDER By id" Set objRS = objconn.Execute(strSQL)
Do While Not objrs.EOF If NOT objrs("fotograf")="" OR objrs("fotograf")=NULL Then Response.Write "<option value=" & objrs("fotograf") & " & if objrs('fotograf')=" & objrs("fotograf") & " then response.write 'selected' & ">" & objrs('fotograf') & "</option>" else end if objrs.MoveNext loop %>
<% strSQL = "SELECT fotograf FROM dropdown ORDER By id" Set objRS = objconn.Execute(strSQL)
Do While Not objrs.EOF If NOT objrs("fotograf")="" OR objrs("fotograf")=NULL Then %> <option value=" <%= objrs("fotograf")%>" <% If objrs("fotograf") = objrs("fotograf") Then Response.Write("selected")%>><%= objRs("fotograf") %></option> <% else end if objrs.MoveNext loop %>
Prøv denne her. Den er utestet! I linie 3 lægger jeg værdien af din dropdown-box ind i variablen Fotograf - jeg går ud fra at din dropdown-box hedder "fotograf" - men check det lige inden du prøver ;-)
<% strSQL = "SELECT fotograf FROM dropdown ORDER By id" Set objRS = objconn.Execute(strSQL) Fotograf = Request("fotograf")
Do While Not objrs.EOF If (NOT objRs("fotograf")="") OR (objRs("fotograf")=NULL) Then Response.Write("<option value="""& objRs("fotograf") &""") If objRs("fotograf")=Fotograf Then Response.Write(" selected") Response.Write(">"& objRs("fotograf") &"</option>") End If objRs.MoveNext loop %>
> Meningen er at den skal finde den værdi i db og skrive selected > ud for den. Min kode er måske lidt fucked - den selecter altid > den sidste...
Ja - det gør den fordi du sammenligner objRs("fotograf") med objRs("fotograf") ... altså med sig selv - og de er jo ens hele tiden! Dermed kommer der til at stå SELECTED ved samtlige options.
Jeg har ændret koden, så den læser værdien fra dropdown-boksen - men jeg kan ikke helt regne ud hvilken der skal være selected ellers. Du skriver at den fra databasen skal være selected - men ALLE options er jo i databasen!
Jeg har en side - retinfo.asp - som henter data fra db. Disse data skal smides ind de rigtige steder og med textboxe er det let nok.
Ved dropdowns driller det mere - jeg vil som sagt have selected den værdi som er i db i en tabel kaldet diasliste- skal lige siges at alle options i dropdown kommer fra db også - fra tabellen dropdown.
Men løsningen burde nu ikke være så langt væk - alt du skal gøre er at lægge den værdi der skal være SELECTED ind i variablen Fotograf. Du siger at den selectede fotograf ligger i en anden tabel?
Når du siger du ikke får det til at virke overhovedet, er det så fordi der er fejl i koden? (fejlbeskedder?) - I så fald så post dem lige her. Jeg har meget ringe mulighed for at teste koden her.
Er kommet frem til følgende men den selcter ikke noget:
<% strSQL = "SELECT fotograf FROM diasliste where id = " & identifikation Set RS = objconn.Execute(strSQL) strSQL = "SELECT fotograf FROM dropdown ORDER By id" Set objRS = objconn.Execute(strSQL) Do While Not objrs.EOF If NOT objrs("fotograf")="" OR objrs("fotograf")=NULL Then %> <option value=" <%= objrs("fotograf")%>" <% If rs("fotograf") = objrs("fotograf") Then response.Write("selected")%>><%= objRs("fotograf") %></option> <% else end if objrs.MoveNext loop %>
tabellen dropdown indeholder alle værdier til dropdowns. tabellen diasliste indeholder alle data der skal rettes.
data fra dropdown læses ind i dropdowns - logisk nok - og data fra diasliste læses ind i textboxe som er på siden og skal bruges til at selecte i dropdowns .
<% strSQL = "SELECT fotograf FROM diasliste where id = " & identifikation Set RS = objconn.Execute(strSQL) fotograf = "Ingen" If(Not RS.EOF) Then fotograf = RS("fotograf") ' Nu er fotograf navnet på fotografen - eller "ingen" hvis ' den ikke blev findet i databasen af en eller anden grund.
strSQL = "SELECT fotograf FROM dropdown ORDER By id" Set objRS = objconn.Execute(strSQL)
Do While Not objrs.EOF If (Not objRs("fotograf")="") OR (objRs("fotograf")=NULL) Then foto = objRs("fotograf") out = "<option value="""& foto &"""" If foto=fotograf Then out=out &" SELECTED" out=out &">"& foto &"</option>" Response.Write(out) End if objRs.MoveNext Loop %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.