Markus: Was ist an der Schleife falsch?

HI..

Was ist an der Schleife falsch? Möchte alle Bezirke ins Dropdown schreiben.

Im moment schreibt er das erste Bundesland dann alert, dann das 2 Bundesland dann alert usw... aber beginnt immer wieder von vorne sollte aber die Bezirke die er schon vom 1 Bundesland reingeschrieben hat im Dropdown lassen und das 2 und 3 Bundesland dazuschreiben..

for(var bundesland in Bundesland)  {var bezirke = Bundesland[bundesland];  for(var i = 0; i < bezirke.length; i++) document.Formular.Bezirk.options[i+1] = bezirke[i]; alert (bezirke.length);}

Zuvor wurde das deffiniert:

var bundesland =document.Formular.Bundesland.selectedIndex;

if(bundesland > 0)document.Formular.Bezirk.length = 1; //wenn ein Bundeslan ausgewählt ist wird das Bezir Dropdown bis auf den ersten Wert "Alle" gelöscht

Bundesland = new Array();

Bundesland['Burgenland'] = new Array();

Bundesland.Burgenland[0] = new Option("Eisenstadt-Stadt");
  Bundesland.Burgenland[1] = new Option("Eisenstadt-Umgebung");
  [...] // usw...

Bundesland['Kärnten'] = new Array();

Bundesland['Kärnten'][0] = new Option("Feldkirchen");
  Bundesland['Kärnten'][1] = new Option("Hermagor");
  [...] // usw... wegen Platzgründen möcht ich nicht alle Bundesländer und Bezirke anführen

bundesland = document.Formular.Bundesland.options[document.Formular.Bundesland.selectedIndex].text; // das ausgewählte Bundesland wird ausgelesen

// dann soll die Schleife kommen um alle Bezikre von allen Bundesländern in das Bezirk Dropdown zu schreiben

Wer kann mir da bitte weiterhelfen, ist echt sehr wichtig

Danke

MFG
Markus

  1. Hallo Markus

    du scho wieder? *g

    for(var bundesland in Bundesland)  {var bezirke = Bundesland[bundesland];  for(var i = 0; i < bezirke.length; i++) document.Formular.Bezirk.options[i+1] = bezirke[i]; alert (bezirke.length);}

    Die variable i beginnt halt bei jedem Bundesland wieder bei 0!

    Vorschlag:
    var index=0;
    for(var bundesland in Bundesland)
    {
    var bezirke = Bundesland[bundesland];
    for(var i = 0; i < bezirke.length; i++)
    {
    index++;
    document.Formular.Bezirk.options[index] = bezirke[i];
    }
    }

    Gruss,
    Kube

    1. HI Kube!

      Danke haut soweit gut hin..

      Aber wie könnte ich dann die Bezirke alphabetisch sortieren also absteigend von A-Z ?

      Gibts dazu eine Möglichkeit?

      Danke

      MFG
      Markus

      Vorschlag:
      var index=0;
      for(var bundesland in Bundesland)
      {
      var bezirke = Bundesland[bundesland];
      for(var i = 0; i < bezirke.length; i++)
      {
      index++;
      document.Formular.Bezirk.options[index] = bezirke[i];
      }
      }

        1. HI!

          Danke aber wie sieht das im meinem Beispiel aus?

          Ich meine die Arrays sind ja zuvor schon sortiert..

          Ich muß es praktisch nach dem einfügen ins Dropdown sortieren od so...

          aber wie mache ich das?

          MFG
          Markus