webForumDet fria alternativet

Dropdowns som påverkar varandra?

ASPur ASP

5 svar · 287 visningar · startad av Troll

Medlem sedan dec. 2003229 inlägg
Frågan#1

Hejsan!

Jag har sett på vissa sidor att man kan få dropdowns att påverka varandra och nu tänkte jag förska använda det till att i den första så ska jag loopa ut mappar och i den andra ska undermapparna till den mappen loopas ut.

Den första är det inga problem med, där loopas mapparna ut, men hur ska jag bära mig åt för att få min andra dropdown att uppdateras autmatiskt med undermapparna?

Har letat efter ett javascript som ska lösa detta men inte hittat och det kanske är lika bra? Eller måste man lösa det så och om det nu är på det viset hur ska jag bära mig åt?

Exempel på hur jag menar är tex om man registerar sig på någon sida där man ska ange Län så dyker städerna i det länet upp i en dropdown brevid men jag vill göra detta som jag beskrev med mapparna.

Nån som har förslag?

Medlem sedan dec. 2003229 inlägg
#2

Sorr, löste sig.

Medlem sedan sep. 2003448 inlägg
#3

Det är gjort med js, annars lär du uppdatera sidan, asp är ett serverside språk och kan inte göra dynamiska uppdateringar som klientspråk (ex javascript)

R/ Oj, det gick fort.

Medlem sedan dec. 2003229 inlägg
#4

Men nu blev det problemas...

Varför funkar inte detta som det ska? Sidan laddas bara om inget händer... Förstår verkligen inte.

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db/data.mdb") 
%>

<select name="formCat" onChange="window.location.href='<%= Request.ServerVariables("SCRIPT_NAME") %>?Kategori='+this[this.selectedIndex].value;">
<option value="">- Välj Kategori -</option>

<%
	SQL = "SELECT DISTINCT picCat FROM tblGallery"
	set objRS = objConn.Execute(SQL)

	Do While NOT objRS.EOF

	strPicCat = objRS("picCat")
	
	Response.Write"<option value="&strPicCat&">"&strPicCat&"</option>"

	objRS.MoveNext
	Loop
%>
</select>
<select name="formSub">
<%
If len(Kategori) >0 Then

	SQL = "SELECT DISTINCT picSub FROM tblGallery WHERE picCat = "&Request.Form("formCat")&""
     set objRS = objConn.Execute(SQL)
 
	Do While NOT objRS.EOF

	strPicSub = objRS("picSub")
	
	Response.Write"<option value="&strPicSub&">"&strPicSub&"</option>"
	
	objRS.MoveNext
	Loop
Else
	Response.Write("<option value="""">Välj kategori först</option>" & vbCrlf)
End If
%>
</select>

<%
objRS.Close
objConn.Close 
Set objRS = nothing
Set objConn = nothing
%>

Vad är det som är fel? Jag antar att det syns vad jag försöker göra men om det är oklart... Den första ska loopa ut alla värden i fältet "picCat" utan dubletter, sen ska den andra lista ut alla värden i "picSub" utan dubletter.

Vad är det som jag gör fel?

Medlem sedan dec. 19996 721 inlägg
#5

If len(request("Kategori")) >0 Then

WHERE picCat = "&Request.Form("Kategori")&""

alternativt byter du till Request.Form("formCat") och javascriptet till

onChange="this.form.submit();"

Medlem sedan dec. 2003229 inlägg
#6

Ah, tackar! Det hjälpte!

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