Avatar billede appel Novice
20. august 2001 - 16:13 Der er 2 kommentarer og
1 løsning

automatisk opdatering af drop down liste

Hej,
Jeg har 3 dropdown lister, hvoraf de to skal opdateres ud fra hvad der bliver valgt i den forrige. Dvs at den første har nogle på forhånd valgte valgmuligheder, nr 2 dropdown liste bliver så opdateret på baggrund af hvad brugeren vælger i den første dropdown. Og den tredje dropdown liste skal så blive opdateret efter hvad brugeren markerer i den anden dropdownliste.
Jeg har fået det til at virke når det kun er den ene liste der skal opdateres, men så snart jeg prøver med 2 lister virker det ikke.
Flg er min kode:

<script language=\"JavaScript\">
<!--
if (document.images) {
kategori = new Object();
kategori.induk = new Array(\"a\",\"b\");
kategori.special = new Array(\"d\",\"e\");
variant = new Object();
variant.a = new Array(\"f\",\"g\",\"h\");
variant.b = new Array(\"i\",\"j\",\"k\");
}
function updateKat(gruppe) {
if (document.images) {
  sel = gruppe.selectedIndex;
  if (sel == 1) {
  kat = kategori.induk;
  } else if (sel == 2) {
  kat = kategori.special;
  } else {
  kat = new Array();
  }
  gruppe.form.kategori.length = kat.length;
  for(i=0;i<kat.length;i++)
  gruppe.form.kategori.options[i].text = kat[i];
} else {
  alert(\"Din browser understøtter ikke javascript\"
  +\"få dig en ny browser.\");
}
}

function updateVariant(kategori) {
if (document.images) {
  sel = kategori.selectedIndex;
  if (sel == 0) {
  var = variant.a;
  } else if (sel == 1) {
  var = variant.b;
  } else {
  var = new Array();
  }
  kategori.form.variant.length = var.length;
  for(i=0;i<var.length;i++)
  kategori.form.variant.options[i].text = var[i];
} else {
  alert(\"Din browser understøtter ikke javascript\"
  +\"få dig en ny browser.\");
}
}
// -->
</script>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#0000FF\" vlink=\"#FF00FF\">
<!-- Start of FORM -->
<form>
<select name=\"gruppe\" size=1 onChange=\"updateKat(this)\">
  <option>vælg gruppe
  <option>induk
  <option>special
</select><br>
<select name=\"kategori\" size=1 onChange=\"updateVariant(this)\">
<option>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</select><br><br>
<br><select name=\"variant\">
  <option>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</select><br><br>
</form>
<!-- End of FORM -->
</body>
</html>
Avatar billede appel Novice
20. august 2001 - 16:30 #1
det væsentlige er altså disse to funktioner :
function updateKat(gruppe) {
if (document.images) {
  sel = gruppe.selectedIndex;
  if (sel == 1) {
  kat = kategori.induk;
  } else if (sel == 2) {
  kat = kategori.special;
  } else {
  kat = new Array();
  }
  gruppe.form.kategori.length = kat.length;
  for(i=0;i<kat.length;i++)
  gruppe.form.kategori.options[i].text = kat[i];
} else {
  alert(\"Din browser understøtter ikke javascript\"
  +\"få dig en ny browser.\");
}
}

function updateVariant(kategori) {
if (document.images) {
  sel = kategori.selectedIndex;
  if (sel == 0) {
  var = variant.a;
  } else if (sel == 1) {
  var = variant.b;
  } else {
  var = new Array();
  }
  kategori.form.variant.length = var.length;
  for(i=0;i<var.length;i++)
  kategori.form.variant.options[i].text = var[i];
} else {
  alert(\"Din browser understøtter ikke javascript\"
  +\"få dig en ny browser.\");
}
}

Som skal ændre på to dropdown menuer/lister
Avatar billede jakoba Nybegynder
20. august 2001 - 16:37 #2
I din funktion updateVariant prøver du at lave en variabel med navnet var.
Den går ikke, for var er et reserveret ord.
lav navnet om til fx vari alle de steder det bruges, så får du noget der ser ud til at virke.

function updateVariant(kategori) {
  if (document.images) {
    sel = kategori.selectedIndex;
    if (sel == 0) {
      vari = variant.a;
    } else if (sel == 1) {
      vari = variant.b;
    } else {
      vari = new Array();
    }
    kategori.form.variant.length = vari.length;
    for(i=0;i<vari.length;i++)
    kategori.form.variant.options[i].text = vari[i];
  } else {
    alert(\"Din browser understøtter ikke javascript\"
    +\"få dig en ny browser.\");
  }
}

mvh JakobA
Avatar billede appel Novice
20. august 2001 - 16:41 #3
Kanon!!!

Mange tak

Mvh

nybegynderen i JavaScript  .... :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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