annette: Auswahllisten aus Feld befüllen

Hallo,
ich möcht Auswahllisten mit Werten aus einem Feld befüllen.
Leider funktioniert das ganze nicht. Die Zweite Auswahlliste wird nicht mit Daten befüllt. Kann mir da evtl. jemand weiter helfen.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<script type="text/javascript">

var daten = new Array("Farbe","rot","Obst","Apfel","Gemüse","Salat","Farbe","blau","Obst","Banane","Obst",
"Birne","Farbe","grün","Gemüse","Kohl");

function kategorie_anzeigen()
{
  var kategorieAuswahl = document.forms.verzeichnis.kategorie;
  var unterpunkteAuswahl = document.forms.verzeichnis.unterpunkte;

/*
Feld durchlaufen und überprüfen wo,
der in der ersten Auswahlliste ausgewählet Wert im Array vorkommt.
den daruaffolgenden Wert als Option in die zeite Auswahlliste schreiben. */

var anz=0;
for (int i=0, i<daten.length, i++){
  if (kategorieAuswahl.value == daten[i].value ){
   unterpunkteAuswahl.options[anz] = new Option(daten[i+1].value, daten[i+1].value);
   anz++;
 }
}
</script>

</head>
<body>
<form name="verzeichnis">
<select size="1" name="kategorie" onchange="kategorie_anzeigen()">
<option value="Obst" selected>Obst</option>
<option value="Gemüse">Gemüse</option>
<option value="Farbe">Farbe</option>
</select>
<SELECT NAME="unterpunkte"  >
<option selected>Bitte wählen</option>
</select>
</form>
</body>
</html>

Wäre dankbar für ein paar hilfreicht Infos.
Gruß
annette

  1. Hi,

    du bist wohl ein bisl mit der Abfrage von Arrays und form-Values durcheinandergekommen, oder?

    1.  for (i=0; i<daten.length; i++)
    Trennung bitte per ; und nicht mit ,

    2. if (kategorieAuswahl.value == daten[i])
    Denn, daten[i] ist ein array-Einrag. Also warum dann daten[i].value

    3. unterpunkteAuswahl.options[anz] = new Option(daten[i+1], daten[i+1]);
    siehe Punkt 2.

    4. Und dann hast du noch vergessen ein } zu setzen. Ich schätze mal, die fehlende Klammer kommt nach der if-Abfrage hin.

    So müsste es aber funktionieren.

    Grüße
    Thorsten F.

    1. Danke Thorsten T. für deine Hilfe,
      ich sollt wohl ein bisschen genauer arbeiten. :-)
      Grüße
      Annette

  2. Leider funktioniert das ganze nicht. Die Zweite Auswahlliste wird nicht mit Daten befüllt. Kann mir da evtl. jemand weiter helfen.

    http://spotlight.de/zforen/jas/m/jas-1160739072-21595.html

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hallo, und erst mal danke Struppi und Thorsten F. wirklich nett dass ihr euch die Mühe macht das ganze anzukucken.
      Ich habe das Feld nur so gemacht weil die Optionswerte aus einer Textdatei augelesen werden sollen.  D.h. die einzelnen Daten sind nur durch ";" und Zeilenumbruch voneinander getrennt.

      SAP;SAP-System;Mandant;Bereich;Org-Einheit;Arbeitspaket;Beschreibung
      AD-Gruppe;Bereich;Gruppenname;Beschreibung
      Filesystem;Server;Share;Verzeichnis;Beschreibung
      SAP;A1D-XYZ;60(DEV);SYN-Syncronisation;ALl();LCOW:PL5061:CONTROLLER;BTN Controller(in)
      SAP;A1D-XYZ;60(DEV);SYN-Syncronisation;ALL();LCOW:PL5061:CO-AUFTR-ABR-INVES;BTN Controller(in) - Auftragsabrechnung/Invest
      AD-Gruppe;Einkauf;BSH_F_Einkauf_RW;Berechtigung Einkauf schreibend
      ...

      1.Auswahlfeld
      SAP
      AD-Gruppe
      Filesystem

      wurde jetzt im ersten Dropdown SAP gewählt soll im zweiten
      SAP-System
      A1D-XYZ
      erscheinen.

      deshalb weiß ich nicht so genau wie ich das Feld am besten aufbaue, aber da es sich um sehr viele Datensätzt handeln wird und dieses alle wie oben aufgezeigt in einer Textdatei geliefert werden, glaube ich nicht dass ich das Feld so aufbauen kann, ich wüsste zumindest nicht wie.
      Ich dacht nur ich fang mal klein an da ich eigentlich noch nie mit javascript gearbeitet habe. Da bin ich natürlich für eure Hilfe sehr dankbar.
      Ich glaub dazu muss ich noch einen neuen Beitrag verfassen.
      Ich hoffe ich hab mich einigermaßen verständlich ausgedrückt.
      Also nochmals
      Vielen Vielen Dank

      Gruß annette