Avatar billede 3z Nybegynder
04. september 2007 - 14:57 Der er 5 kommentarer og
1 løsning

Dynamisk select box

Hej,

Jeg har følgende kode, som laver en super dynamisk søgeliste. Hvordan udvider jeg denne, så listen laves udfra et udtræk fra en access database i ASP, fremfor blot et hardkodet array:

<HEAD>
<script type="text/javascript">
valg = new Array("Albatros", "Anders", "And", "Asger", "Bi", "Blomst", "Benjamin", "Bølle", "Citron", "Cykel", "Flæskestej");

valg.sort();

function opdater(felt) {
  selOpts = felt.form.sel.options;
  selOpts.length = 0;
  for (i = 0; i < valg.length; i++)
    if (felt.value == "" || valg[i].toLowerCase().indexOf(felt.value.toLowerCase()) == 0)
      selOpts[selOpts.length] = new Option(valg[i], valg[i]);
}
</script>
</HEAD>

<BODY>
<form name="frm" action="items.asp">
<input type="text" name="sFelt" onKeyUp="opdater(this);" style="width: 150px;"><br>
<select multiple="multiple" size="8" name="sel" style="width: 150px;" onchange="submit()">
<script type="text/javascript">
for (i = 0; i < valg.length; i++)
  document.write('<option value="' + valg[i] + '">' + valg[i] + '</option>');
</script>
</select>
</form>
</BODY>

Leveret af: http://www.phoenixv.dk/arkiv.html
Avatar billede fennec Nybegynder
04. september 2007 - 15:29 #1
Du lader bare ASP generere JS koden:
<HEAD>
<script type="text/javascript">
<%
valgListe = ""
set rs = conn.execute("select * from dinTabel")
while not rs.eof
  if valgListe = "" then
    valgListe = "'"& rs("name") &"'"
  else
    valgListe = valgListe &", '"& rs("name") &"'"
  end if
  rs.MoveNext
wend
%>
valg = new Array(<%= valgListe %>);
...
...
Avatar billede 3z Nybegynder
04. september 2007 - 23:19 #2
Kan man lave scriptet om, så listen defineres i BODY fremfor i HEAD ?
Jeg vil hellere have ASP koden der genererer JS koden i BODY...
Avatar billede olebole Juniormester
04. september 2007 - 23:21 #3
<ole>

Har du testet, om man kan lægge den i body'en? ... næppe  ;o)

/mvh
</bole>
Avatar billede fennec Nybegynder
05. september 2007 - 10:00 #4
... Det olebole mener er at det kan man godt... Du skal bare flytte koden. Hvis du havde prøvet det selv, havde du ikke behøvet at spørge.

Måske olebole har en viden om hvorfor <script> må stå i både <head> og <body>, for jeg har endnu ikke fattet hvorfor <head> er med??

Oleboles viden om JS er kun overgået af "gud den almægtige". Det blev afgjort i den store Ole vs Gud turnering sidste år, hvor Gud vandt med dommerstemmerne 3 mod 2 :o)
Avatar billede 3z Nybegynder
05. september 2007 - 10:42 #5
Jamen jeg indrømmer blankt, at jeg intet kender til JS - derfor jeg spørger eksperterne. Jeg gik ganske enkelt udfra, at den del af koden SKULLE stå i headeren, så derfor prøvede jeg ikke bare...

Jeg takker
Avatar billede fennec Nybegynder
05. september 2007 - 10:50 #6
Det er skam også helt i orden at du spørger. Det er det vi er her for :o)

.o) <-- One Eyed Jack
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