Markus: gelöschtes Dropdown wieder auf Standard setzen

Hi!

Wenn ich ein Dropdownmenü lösche(wird über ein 2 Dropdown "Bundesland" ausgelöst:

var bundesland =document.Formular.Bundesland.selectedIndex;

if(bundesland > 0) document.Formular.Bezirk.length = 1;

Hiermit wird das "Bezirk" Dropdown bis auf den ersten Wert "Alle Bezirke" gelöscht...

Wenn nun ein gewisses Bundesland ausgewählt wird wird das Bezirk Dropdown wieder neu gefüllt mit new Option():

B4 = new Option("Bludenz"); //Definieren der Bezirke
 B6 = new Option("Bregenz");
 B10 = new Option("Dornbirn");
 B15 = new Option("Feldkirch");

if(bundesland > 0) document.Formular.Bezirk.length = 1;

if(bundesland == 8)
  {
  document.Formular.Bezirk.options[document.Formular.Bezirk.length] = B4;
  document.Formular.Bezirk.options[document.Formular.Bezirk.length] = B6;
  document.Formular.Bezirk.options[document.Formular.Bezirk.length] = B10;
  document.Formular.Bezirk.options[document.Formular.Bezirk.length] = B15;
  }

Kann diese lange Wurst: "document.Formular.Bezirk.options[document.Formular.Bezirk.length]" auf irgendwie gekürzt werden?

So nun habe ich nach Auswahl des im obigen Beispiel genannten Bundesland "8" meine dazugehörigen Bezirke im Bezirkdropdown und den ersten Wert "Alle Bezirke".

Nun meine eigentliche Frage:

Wenn ich auf "Alle Bezirke" klicke möchte ich dass alle Bezirke so wie es am Anfang eingestellt war vor dem Löschen wieder drinnen stehen (also alle Bezirke von allen Bundesländern)

Gibt es da einen Befehl das Bezirk Dropdown irgdendwie auf "default" zu setzen(ursprüngliche Einstellung).

Wenn ja wie kann ich das realisieren?

Sonst müßte ich für "Alle Bezirke" die ganzen Bezirke mit new Option() wieder hinzufügen..

Wer kann mir da bitte helfen?

Danke im voraus

MFG
Markus

  1. Hallo Markus,

    wie wärs damit:

    var bezopt=document.Formular.Bezirk;

    dann kannst Du für
    document.Formular.Bezirk.options[document.Formular.Bezirk.length]

    schreiben

    (bezopt).options[(bezopt).length

    Gruß Ralf

    1. HI!

      Würde eigentlich mehr auch gehen oder ist das das maximalste was man als variable deffinieren kann?

      wieso geht:

      var bezopt=document.Formular.Bezirk.options[document.Formular.Bezirk.length]

      nicht?

      var bezopt=document.Formular.Bezirk;

      dann kannst Du für
      document.Formular.Bezirk.options[document.Formular.Bezirk.length]

      schreiben

      (bezopt).options[(bezopt).length

      Auf mein eigentliches Problem weißt du zufällig keine Lösung oder?

      Danke

      MFG
      Markus