dropdown

Tags:    asp

<< < 12 > >>
Hej

Jeg har følgende kode, som ikke funker helt som den skal. Man kan fint vælge i dropdown, og den retunere og fint som den skal. Men den selecter ikke den som den skal, kan nogen sige mig hvad der går galt. Her er koden :

<form name="oplevvalg" type="Get">
<select name="id" onchange="if(this.selectedIndex!=0){this.form.action='oplev.asp?id='+this.value;this.form.submit();}">
<option disabled></option>
<%

set conn = server.createobject("adodb.connection")
conn.open dbPath
set rsoplev = server.createobject("adodb.recordset")
strSQL = "select * FROM oplevelser order by overskrift ASC"

rsoplev.open strSQL, conn
Do while Not rsoplev.EOF%>
<option value = "<%=rsoplev("id")%>"
<%If strCategory = rsoplev("id") Then%>
selected
<%End If%>
><%=TruncateString(rsoplev("overskrift"),26)%></option>
<%
rsoplev.moveNext
Loop
rsoplev.close

%>
</select>
</form>

SysteMET



11 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
typen brde jo egentlig være ligemeget i if-sætningen...

prøv evt. at gemme rsoplev("id") i en variabel så koden kommer til at se sådan her ud:

rsoplev.open strSQL, conn

stroplevdb = rsoplev("id")

Do while Not rsoplev.EOF%>
<option value = "<%=stroplevdb%>"
<%If stroplev = stroplevdb Then%>
selected
<%End If%>
><%=TruncateString(rsoplev("overskrift"),26)%></option>

Dette kan muligvis hjælpe på problmer, der kan komme når man henter samme værdi fleregange fra en database og det er med til at sikre at typerne automatisk bliver konventeret til det samme...



Prøv lige det her engang!

Fold kodeboks ind/udKode 




hvis jeg forstår dig ret... så står selected ikke ved den rigtige?

hvis det er tilfældet, så vil det være rart at vide hvad strCategory er sat til...

og er id i databasen ikke et tal? for så vil den nok ikke være lig med en string...



Hov der er sket en fejl. Den skal se sådan ud.

<form name="oplevvalg" type="Get">
<select name="id" onchange="if(this.selectedIndex!=0){this.form.action='oplev.asp?id='+this.value;this.form.submit();}">
<option disabled></option>
<%
stroplev = request.querystring("id")

set conn = server.createobject("adodb.connection")
conn.open dbPath
set rsoplev = server.createobject("adodb.recordset")
strSQL = "select * FROM oplevelser order by overskrift ASC"

rsoplev.open strSQL, conn

Do while Not rsoplev.EOF%>
<option value = "<%=rsoplev("id")%>"
<%If stroplev = rsoplev("id") Then%>
selected
<%End If%>
><%=TruncateString(rsoplev("overskrift"),26)%></option>

<%
rsoplev.moveNext
Loop
rsoplev.close
Conn.Close

%>
</select>
</form>




Men problemet er der stadig, jeg fik bare en forkert kode med i første besked. Ja id er et tal, og ja selected står ikke ved den rigtige, den kommer slet ikke med.

SystemNET



Nope det virkede ikke.

SystemNET



Du skal ændre det til flg.:

rsoplev.open strSQL, conn
Do while Not rsoplev.EOF%>
<option value = "<%=rsoplev("id")%>"
<%If strCategory = rsoplev("id") Then%>
selected
<% ELSE %>
<%End If%>
><%=TruncateString(rsoplev("overskrift"),26)%></option>
<%
rsoplev.moveNext
Loop
rsoplev.close



Faran => det som du foreslog har jeg også prøvet, men det virker heller ikke.

SystemNET



har du prøvet at udskrive stroplev samt tjekke de værdier du får ud fra databasen... msåke er de ikke som du forventede



Ja det har jeg prøvet, og de kommer som de skal. Jeg ville også mene det burde virke, men nu har jeg brugt meget af pinsen på det, og jeg kan ikke se hvor det går galt

SystemNET



<< < 12 > >>
t