webForumDet fria alternativet

Listbox/Dropdown HJÄÄÄLLLPP

ASP

8 svar · 315 visningar · startad av mimmie

Medlem sedan apr. 20045 inlägg
Frågan#1

Jag har en aspsida med två listboxar. Värdena i boxarna hämtas från en access databas. Innehållet i den andra listboxen är beroende av vad man valt i den första. Hur gör jag för att den första listboxen ska behålla värdet man valt när den andra listboxen laddas??? Finns det någon som kan hjälpa mej???

set conkategori= server.createObject("ADODB.connection")
conkategori.open "europadb3"
SQL = "SELECT kategorier.* FROM Kategorier"
Set rs = conkategori.Execute(sql,,1)%> <font color="#FF0000"> </font></font>
<select name="Kategori" style="font-size:9px; height:18px;" size=1 onChange="if (this.options[this.selectedIndex].value != '') {top.location.href=this.options[this.selectedIndex].value};">
<option value="">-Välj kategori-</option>
<%
Do While Not rs.EOF
'*********************
' Raden nedanför, DENNA_SIDAN.ASP = denna sidan som koden körs i
response.write "<option value='Nykursplan.ASP?kategori=" & rs("kategoriid") & "'"
If Request.QueryString("kategori") = rs("kategoriid") Then
Response.Write "selected"
End if
Response.Write ">"

response.write rs("kategorinamn")
response.write "</option>"
rs.MoveNext
Loop

conkategori.Close  
Set conkategori= Nothing  

%>
</select>
<%
If Request.QueryString("kategori") <> "" Then
%> </h6>
</td>
</tr>
<tr>
<td colspan="3" height="17"><font size="2">Välj programgrupp<b><font size="2" color="#FF0000">*</font></b></font></td>
</tr>
<tr>
<td colspan="3" height="55"> <%
set conprogram= server.createObject("ADODB.connection")
conprogram.open "europadb3"
'******************
' Lagt till kriteria (WHERE) på din SQL, modda den så att den stämmer med din tabell
'******************
SQL1 = "SELECT program.* FROM program WHERE program.kategoriID = " & Request.QueryString("kategori")

kat=request.querystring("kategori")
if kat<> "" then
session("kat")=kat
end if

Set rs1 = conprogram.Execute(sql1,,1)
%>
<select name="Program" style="font-size:9px; height:18px;" size=1>

<option value="">-Välj program-</option>
<%
Do While Not rs1.EOF
response.write "<option value='" & rs1("programid") & "'>"
response.write rs1("programnamn")
response.write "</option>"
rs1.MoveNext
Loop

conprogram.Close  
Set conprogram= Nothing  


%\>
Medlem sedan sep. 20026 425 inlägg
#2

1. Välkommen till wF! (har inte välkomnat dig än)
2. Tråden är felpostad, ska finnas i ASP, VBScript-forumet.
3. Använd gärna kod-taggen.

set conkategori= server.createObject("ADODB.connection") 
conkategori.open "europadb3" 
SQL = "SELECT kategorier.* FROM Kategorier" 
Set rs = conkategori.Execute(sql,,1)%> <font color="#FF0000"> </font></font> 
<select name="Kategori" style="font-size:9px; height:18px;" size=1 onChange="if (this.options[this.selectedIndex].value != '') {top.location.href=this.options[this.selectedIndex].value};">
<option value="">-Välj kategori-</option>
<% 
Do While Not rs.EOF 
'********************* 
' Raden nedanför, DENNA_SIDAN.ASP = denna sidan som koden körs i 
response.write "<option value='Nykursplan.ASP?kategori=" & rs("kategoriid") & "'" 
If Request.QueryString("kategori") = rs("kategoriid") Then 
Response.Write "selected" 
End if 
Response.Write ">" 

response.write rs("kategorinamn") 
response.write "</option>" 
rs.MoveNext 
Loop 

conkategori.Close 
Set conkategori= Nothing 

%> 
</select>
<%
If Request.QueryString("kategori") <> "" Then
%> </h6> 
</td> 
</tr> 
<tr> 
<td colspan="3" height="17"><font size="2">Välj programgrupp<b><font size="2" color="#FF0000">*</font></b></font></td> 
</tr> 
<tr> 
<td colspan="3" height="55"> <% 
set conprogram= server.createObject("ADODB.connection") 
conprogram.open "europadb3" 
'****************** 
' Lagt till kriteria (WHERE) på din SQL, modda den så att den stämmer med din tabell 
'****************** 
SQL1 = "SELECT program.* FROM program WHERE program.kategoriID = " & Request.QueryString("kategori") 

kat=request.querystring("kategori") 
if kat<> "" then 
session("kat")=kat 
end if 

Set rs1 = conprogram.Execute(sql1,,1) 
%> 
<select name="Program" style="font-size:9px; height:18px;" size=1>

<option value="">-Välj program-</option>
<% 
Do While Not rs1.EOF 
response.write "<option value='" & rs1("programid") & "'>" 
response.write rs1("programnamn") 
response.write "</option>" 
rs1.MoveNext 
Loop 

conprogram.Close 
Set conprogram= Nothing 

%>

Återkommer med svar när jag fått överblick över koden. :)

Medlem sedan sep. 20026 425 inlägg
#3
If Request.QueryString("kategori") = rs("kategoriid") Then 
Response.Write "selected" 
End if

ska vara

If Request.QueryString("kategori") = rs("kategoriid") Then 
Response.Write " selected" 
End if

tror jag.

Medlem sedan apr. 20045 inlägg
Medlem sedan sep. 20026 425 inlägg
#5

Byt ut

<select name="Kategori" style="font-size:9px; height:18px;" size=1 onChange="if (this.options[this.selectedIndex].value != '') {top.location.href=this.options[this.selectedIndex].value};">

mot

<select name="Kategori" style="font-size:9px; height:18px;" size=1 onChange="if (this.options[this.selectedIndex].value != '') {top.location.href='Nykurs.asp?kategori=' + this.options[this.selectedIndex].value};">

Sen byter du ut

response.write "<option value='Nykursplan.ASP?kategori=" & rs("kategoriid") & "'"

i din ASP-kod mot

response.write "<option value=""" & rs("kategoriid") & """

Sen ska allt funger tror jag.

Medlem sedan apr. 20045 inlägg
#6

m_soderlund skrev:

Byt ut

<select name="Kategori" style="font-size:9px; height:18px;" size=1 onChange="if (this.options[this.selectedIndex].value != '') {top.location.href=this.options[this.selectedIndex].value};">

mot

<select name="Kategori" style="font-size:9px; height:18px;" size=1 onChange="if (this.options[this.selectedIndex].value != '') {top.location.href='Nykurs.asp?kategori=' + this.options[this.selectedIndex].value};">

Sen byter du ut

response.write "<option value='Nykursplan.ASP?kategori=" & rs("kategoriid") & "'"

i din ASP-kod mot

response.write "<option value=""" & rs("kategoriid") & """

Sen ska allt funger tror jag.

Funkar inte !!!
Sidan kan inte visas

Medlem sedan sep. 20026 425 inlägg
#7

Verktyg-->Internet-alternativ-->Avancerat-fliken och avbocka "Visa egna HTTP-felmeddelanden" är bra att känna till (IE). Denna gång var det mitt fel.

response.write "<option value=""" & rs("kategoriid") & """

ska vara

response.write "<option value=""" & rs("kategoriid") & """>"

:r

Medlem sedan aug. 2001203 inlägg
#8

ohoj, vet inte om det är detta du är ute efter eller inte, men här kommer hur jag väljer i en drop-down

<%
	SQL = "SELECT * FROM db_kb_h"
	Set DataConn = Server.CreateObject("ADODB.Connection")
	DataConn.Open Application("koppling")
    Set cmdTemp = Server.CreateObject("ADODB.Command")
    Set a8 = Server.CreateObject("ADODB.Recordset")
	cmdTemp.CommandText = SQL
    Set cmdTemp.ActiveConnection = DataConn
    a8.Open cmdTemp, , 1, 1
    
    
%>
		<SELECT id=select2 name=t_id>
<% Do until a8.EOF%>
		<%if a8("id") = a63("t_id") then%>
		<OPTION value="<%=a8("id")%>" selected> <%=a8("falt01")%> </OPTION>
		<%else%>
		<OPTION value="<%=a8("id")%>"> <%=a8("falt01")%> </OPTION>
		<%end if%>

<%
a8.MoveNext
Loop	
%>

Jag gör en sökning i databasen, sedan loopar jag ut resultatet i en drop-down och jag har med mig ett id från förra sökningen.

Vi träff på detta id skriver jag SELECTED i OPTION-taggen

Hoppas det kan hjälpa dig!

rollo

Medlem sedan apr. 20003 174 inlägg
266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)