webForumDet fria alternativet

Selected

5 svar · 260 visningar · startad av SPinckney

SPinckneyMedlem sedan juli 2002104 inlägg
#1

Jag använder Dropdowns för att välja för en update.

Men jag har problem att skriva ut vilken som är selected.

Hur löset man det på bästa vis?

Som det är nu skriver den enbart ut den översta posten först i dropdownlistan.

<%
Set Rsmarket = Server.CreateObject("adodb.RecordSet")
Sql = "Select * from tblmarkets"
Rsmarket.open Sql, Conn, 3, 3
%>
	<TD width="32%" align=left valign=middle>
	<select name=usermarket>
	<% Do until Rsmarket.EOF %>
	<option value=<%=Rsmarket("marketid")%>><%=Rsmarket("marketname")%>
	
	<% 
	RsMarket.MoveNext 
	Loop
	%>

Usermarket för personen ligger i tabellen tblusers.
Så den som är selected ska vara tblusers.usermarket

eTeRnAlMedlem sedan sep. 200225 inlägg
#2

Jag är långt ifrån bra på detta med html/asp, men lär mig så mycket jag hinner kombinera med mitt nuvarande jobb, vilket jag för övrigt sitter på nu =P
Iaf, till ditt problem som jag *tror* detta är lösningen på:

<%
Set Rsmarket = Server.CreateObject("adodb.RecordSet")
Sql = "Select * from tblmarkets"
Rsmarket.open Sql, Conn, 3, 3
%>
	<TD width="32%" align=left valign=middle>
	<select name=usermarket>
	<% Do until Rsmarket.EOF %>
	<option value="<%=Rsmarket("marketid")%>" selected><%=Rsmarket("marketname")%>
	
	<% 
	RsMarket.MoveNext 
	Loop
	%>

Enda jag gjorde var att just lägga till det du skrev, fast aldrig i koden :) "selected".

SPinckneyMedlem sedan juli 2002104 inlägg
#3

Nej detdär kommer bara skriva ut alla som selected.
Men tack för ett försök!

Jag löste det såhär

<%
if trim(rs("usermarket")) = trim(rsmarket("marketid")) then selected = " selected " else selected = " "
%>
eTeRnAlMedlem sedan sep. 200225 inlägg
#4

Ah, glömde tänka på att du hade en loop där.

Sorry :)

roadyMedlem sedan jan. 2002473 inlägg
#5

blir det verkligen rätt :q

Själv skulle jag nog skrivit:

<%
Set rsMarket = Server.CreateObject("adodb.RecordSet")
Sql = "Select * from tblmarkets"
rsMarket.open Sql, Conn, 3, 3

	Response.Write("<TD width=""32%"" align=""left"" valign=""middle"">")
	Response.Write("<select name=""usermarket"">")
	
		Do Until rsMarket.EOF
			Response.Write("<option value="""& Rsmarket("marketid") & """")
				If Request.Form("usermarket") = Rsmarket("marketid") Then Response.Write(" selected")
			Response.Write(">")
		rsMarket.MoveNext
		Loop
		
		rsMarket.Close
		Set rsMarket	= Nothing
%>

Eftersom du måste väll ha valt något och uppdaterat för att värdet skall ligga kvar, eller så kanske jag missuppfattat allt

SPinckneyMedlem sedan juli 2002104 inlägg
#6

Båda sätten fungerar.

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)