webForumDet fria alternativet

listrutor

7 svar · 278 visningar · startad av nille99

nille99Medlem sedan aug. 2002352 inlägg
#1

jag har två listrutor, län och stad

I den första så väljer du vilket län
I den andra så ska alla städer i det länet finnas
om jag väljer ett ändra län så ska det länets städer finnas iställe i stad listrutan.

alla städer finns i en databas

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Skall detta ske utan att ladda om sidan?

nille99Medlem sedan aug. 2002352 inlägg
#3

jepp

LarsGMedlem sedan dec. 200012 464 inlägg
#4

I så fall måste du lagra allt data på klienten och skriva javaskript för att hantera skiftandet. Jag flyttar från ASP till Javaskript-forumet.

JojoxxMedlem sedan juni 20004 308 inlägg
#5
<script language="JavaScript" type="text/javascript">
var stader=new Array();
stader[0]=new Array("Stad 1 Län 1","Stad 2 Län 1");
stader[1]=new Array("Stad 1 Län 2","Stad 2 Län 2","Stad 3 Län 2");
stader[2]=new Array("Stad 1 Län 3","Stad 2 Län 3");
function uppdateraStad(obj){
	obj.stad.length=stader[obj.lan.selectedIndex].length;
	for(var i=0;i<stader[obj.lan.selectedIndex].length;i++){
		obj.stad[i].value=stader[obj.lan.selectedIndex][i];
		obj.stad[i].text=stader[obj.lan.selectedIndex][i];
	}
}
</script>

<form>
<select name="lan" onChange="uppdateraStad(this.form);">
<option value="Län 1">Län 1</option>
<option value="Län 2">Län 2</option>
<option value="Län 3">Län 3</option>
</select>
<select name="stad">
<option value="Stad 1 Län 1">Stad 1 Län 1</option>
<option value="Stad 2 Län 1">Stad 2 Län 1</option>
</select>
</form>

Sedan är det bara att fylla på i koden med data från din databas via ASP.

nille99Medlem sedan aug. 2002352 inlägg
#6

Hej
hur ska jag få in städer från databasen till listrutan "stad "
när jag väljer tex alternativ tre i listruta "län"

SQL = "SELECT * From stad"
Set RecSet5 = Connect.Execute(SQL)

stad= "stad"
Do Until RecSet5.EOF
stad = stad & _
	 RecSet5("namn") & "'"
	
RecSet5.MoveNext
Loop
RecSet5.close
%>

<script language="JavaScript" type="text/javascript">
var stader=new Array();
stader[0]=new Array("Stockholm","Malmö");
stader[1]=new Array("Visby","Norrtälje","falun");
stader[2]=new Array(<%=stad%>);
function uppdateraStad(obj){
	obj.stad.length=stader[obj.lan.selectedIndex].length;
	for(var i=0;i<stader[obj.lan.selectedIndex].length;i++){
		obj.stad[i].value=stader[obj.lan.selectedIndex][i];
		obj.stad[i].text=stader[obj.lan.selectedIndex][i];
	}
}
</script>
JojoxxMedlem sedan juni 20004 308 inlägg
#7

Jag lämnar över det till ASP-forumet igen så får du det på optimalt vis.

nille99Medlem sedan aug. 2002352 inlägg
#8

jag klarade av det själv


SQL = "SELECT * From stad"
Set RecSet5 = Connect.Execute(SQL)

Do Until RecSet5.EOF

	if stad = "" then
		stad = "'" & RecSet5("namn") & "'" 
	else
		stad = stad & "," & "'" & RecSet5("namn") & "'" 
	end if
s
	
RecSet5.MoveNext
Loop
RecSet5.close
%>
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)