webForumDet fria alternativet

ASP + Javascript

ASPur ASP

8 svar · 510 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Jag misstänker att jag måste blanda i javascript för att lyckas med det här:

Jag har två selectboxar, ena med namn på länder, den andra med städer.

I en databas har jag två tabeller:
Country
--CountrID
--Country_Name

City
--CityID
--City_Name
--City_Bel (anger vilket land det tillhör, dvs landets ID)

Tanken är att när man byter land så skall selectboxen med städer ändras och fyllas med dom städer som tillhör landet, utan att sidan laddas om!

Är det möjligt?

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan juni 200032 969 inlägg
#2

Du misstänker alldeles rätt. Jag hade använt mig av asp för att bygga upp ett dynamiskt javascript, som du triggar vid onchange av landboxen.

Hur man ändrar innehåll i en selectbox diskuteras med jämna mellanrum i javascriptforumet, så sök lite där och ta reda på hur javascriptet ska se ut.

Mvh,

------------------
Don't panic!

[Redigerat av @nders den 05 dec 2001]

Medlem sedan jan. 20013 341 inlägg
#3

Du har inte något exempel? Kollade lite i javascript forumet, men dom jag hittade kunde jag inte komma överfund med hur man skulle få ASP koden att passa in, är ingen höjdare på javascript än...

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan jan. 20022 440 inlägg
#4

Verkar ju faktiskt som om det inte är någon som verkligen vet hur man ska göra detta. Jag är ute efter samma sak men har inte hittat någon information om just detta någonstans!

Medlem sedan mars 20002 836 inlägg
#5

Om du inte ska ladda om sidan ser jag nästan endast Remote Scripting som en lösning .....annars torde du få lov att skicka en jäkla massa data till klienten (alla länder + städer)

Sök på Remote Scripting då jag själv inte alls är hemma inom det området :(

Har gjort ngt liknande fast med mycket lite data till klienten

<html>
<head>
<title>dynamiska menyer i javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT language="javascript">
function boxData(sText, vValue){
	this.text = sText;
	this.value = vValue;
}

var vMan1 = new Array();

// -- populeras med asp. det är dessa arrayer som ska populeras i andra selectboxen
//    beroende på selectbox1 value --
vMan1[0] = new boxData("stad 1 land 1",1);
vMan1[1] = new boxData("stad 2 land 1",2);
vMan1[2] = new boxData("stad 3 land 1",3);
vMan1[3] = new boxData("stad 4 land 1",4);

var vMan2 = new Array();

vMan2[0] = new boxData("stad 1 land 2",1);
vMan2[1] = new boxData("stad 2 land 2",2);
vMan2[2] = new boxData("stad 3 land 2",3);
vMan2[3] = new boxData("stad 4 land 2",4);

// -- slut populeringen av arryer med asp --

function populateBox(obj, icase){
	// alert(icase);
	igr = parseInt(icase);
	vgr = eval("vMan" + igr);
	if (igr>=1){
		obj.length = (vgr.length);
		for(n=0;n<vgr.length;n++){
			obj.options[n].value = vgr[n].value;
			obj.options[n].text = vgr[n].text;
		}
		
	}else{
		obj.length = 1;
		for(n=0;n<obj.length;n++){
			obj.options[n].value = 0;
			obj.options[n].text = obj.options[n].text;
		}
		obj.selectedIndex = 1;
	}
}
</SCRIPT>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
  <select name="select" onChange="populateBox(document.form1.select2,this.options[selectedIndex].value);">
    <option value="0" selected>valj land</option>
    <option value="1">land 1</option>
    <option value="2">land 2</option>
  </select>
  <select name="select2">
    <option value="0" selected>Inget land valt</option>
  </select>
</form>
</body>
</html>

cya,
PatrikB

Medlem sedan feb. 20001 590 inlägg
#6

Sedan finns ytterligare en modell, nämligen att du skapar Javascript koden i ASP scriptet, och fyller i arrayerna för de två kombinationsrutorna, från databasen.

/T

Medlem sedan apr. 2002299 inlägg
#7

Jag hittade en liknande kanske det hjälper
http://www.programmersresource.com/articles/listbox.asp

Medlem sedan jan. 20022 440 inlägg
#8

Toonster skrev:

Sedan finns ytterligare en modell, nämligen att du skapar Javascript koden i ASP scriptet, och fyller i arrayerna för de två kombinationsrutorna, från databasen.

/T

Jo och hur gör man det ? :)

Medlem sedan mars 20002 836 inlägg
#9

kika på mitt script ovan.
Arrayerna kan populeras med javascript + selectboxen med de olika "länderna".

Testa att få det att funka med asp kod. Funkar det inte är det bara att återkomma så hjälper vi dig

aleborg:
Har du fått det att funka??

cya,
PatrikB

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