Avatar billede tjaz Nybegynder
18. december 2004 - 12:50 Der er 9 kommentarer og
1 løsning

ASP variabler i javascript?

Hej,

Jeg har et java script:

<script type="text/javascript">
</script>

Hvor jeg godt kunne tænke mig at danne nogle variabler ved hjælp af asp (arrays)

<script type="text/javascript">
var 1 = new Array("1","2","3","4");
var 2 = new Array("5","6","7","8","9","10");
</script>

det er ikke noget problem for mig at danne "var" linierne og udskrive dem med response.write:

<%
strSQL1 = "SELECT * FROM menuer ORDER BY id"
Set menu = Conn.Execute(strSQL1)
Do

strSQL2 = "SELECT * FROM kategorier WHERE id = "& menu("id") &""
Set kategori = Conn.Execute(strSQL2)
Do

kategoriliste = kategoriliste + """"& kategori("id") &""","
kategori.Movenext
Loop While Not kategori.EOF
Response.Write ("var "& menu("id") &" = new Array("& kategoriliste &");")

menu.Movenext
Loop While Not menu.EOF
%>

Men hvordan får jeg dem brugt i mit javascript?
Avatar billede thesurfer Nybegynder
18. december 2004 - 13:06 #1
1) jeg tror ikke at du må kalde dine arrays/variabler for "1", "2" og andre tal. De SKAL starte med et bogstav.

2) eksempel:
var a = new Array("you","world");

alert('hello ' + a[1]); // test

testen skulle gerne skrive "hello world", i det "world" er nummer "1", fordi arrayen starter ved 0 (og ikke 1).
Avatar billede tjaz Nybegynder
18. december 2004 - 13:15 #2
well ... dvs. hvis jeg ændre min asp så mine variabler bliver til:

Response.Write ("var nr"& menu("id") &" = new Array("& kategoriliste &");")

Så burde jeg uden videre kunne få det til at virke ?
Avatar billede thesurfer Nybegynder
18. december 2004 - 13:21 #3
Ja.
Hvordan ser din kode ud?
altså den der kalder arrayen.. f.eks. alert(...) i mit eksempel..
Avatar billede tjaz Nybegynder
18. december 2004 - 13:25 #4
Der hvor jeg skal bruge der, er i dette script:

http://www.eksperten.dk/spm/571901
Avatar billede tjaz Nybegynder
18. december 2004 - 13:27 #5
Er så godt klar over at min select skal ændres til det som jeg kalder mine variabler, men det er ikke noget problem... det er bare det med dannelsen af variablerne i javasvriptet som jeg ikke kan få til at virke.
Avatar billede thesurfer Nybegynder
18. december 2004 - 13:36 #6
Hvor melder den fejl henne? (linie, plus koden før og efter)
Avatar billede tjaz Nybegynder
18. december 2004 - 14:17 #7
Nu tror jeg, at jeg er ved at komme til en løsning, men den melder fejl fordi der er komma efter den sidste

eks.

var nr1 = new Array("69","68","70","73","74","71","75",);

hvordan får jeg det væk ? ... variablen som udskrives i det array hedder som bekendt kategoriliste
Avatar billede tjaz Nybegynder
18. december 2004 - 14:33 #8
Fandt ud af det ... så nu virker det ... tak for ledetråden :)

<html>
<head>
<title></title>
</head>
<script type="text/javascript">

var nullValue = new Array(" ");
<%
strSQL1 = "SELECT * FROM menu ORDER BY id"
Set menu = Conn.Execute(strSQL1)
Do

kategoriliste = ""

strSQL2 = "SELECT * FROM kategorier WHERE mid = "& menu("id") &" ORDER BY headline"
Set kategori = Conn.Execute(strSQL2)
Do

kategoriliste = kategoriliste + ""& chr(34) &""& kategori("id") &""& chr(34) &","
kategori.Movenext
Loop While Not kategori.EOF
antaltegn = Len(kategoriliste) - 1
Response.Write ("var nr"& menu("id") &" = new Array("& left(kategoriliste, antaltegn) &");") & vbCrLf

menu.Movenext
Loop While Not menu.EOF
%>
function ShowSelect(arrayValue)
{
var numbers_select = window.document.form1.two;
var the_array = eval(arrayValue);
setOptionText(window.document.form1.two, the_array);
}

function setOptionText(the_select, the_array)
{
for (var loop=the_select.length;loop>=0;loop--)
the_select.options[loop] = null;

for (loop=0; loop < the_array.length; loop++)
{
the_select.options[the_select.length] = new Option(the_array[loop],the_array[loop]);
}

}
</script>

<body>
<form name="form1" method="post" action="">
Select
<select name="one" id="one" onchange="ShowSelect(window.document.form1.one.options[selectedIndex].value);">
<option value="nullValue" selected></option>
<%
strSQL3 = "SELECT * FROM menu ORDER BY id"
Set menuen = Conn.Execute(strSQL3)
Do
Response.Write ("<option value=""nr"& menuen("id") &""">nr"& menuen("id") &"</option>")
menuen.Movenext
Loop While Not menuen.EOF
%>
</select>
<br>
Result
<select name="two" id="two">
</select>
</form>
</body>
</html>
Avatar billede thesurfer Nybegynder
19. december 2004 - 01:37 #9
Du kan bare selv smide et svar, og tage pointsne.. det er ok med mig.
Avatar billede tjaz Nybegynder
19. december 2004 - 03:02 #10
oki ... men tak alligevel :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester