Markus: Schleifenaufbau

Beitrag lesen

Hi Struppi!

Danke dass du mir soweit geholfen hast.. Bis jetzt hab ich es so aufgebaut:(mit dem for in haut es nicht hin bzw. alle Bezirke).

var bezirk =document.Formular.Bezirk.selectedIndex;
var bundesland =document.Formular.Bundesland.selectedIndex;

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

Bundesland = new Array();

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

Bundesland.Burgenland[0] = new Option("Eisenstadt-Stadt");
  Bundesland.Burgenland[1] = new Option("Eisenstadt-Umgebung");
  Bundesland.Burgenland[2] = new Option("Güssing");
  Bundesland.Burgenland[3] = new Option("Jennersdorf");
  Bundesland.Burgenland[4] = new Option("Mattersburg");
  Bundesland.Burgenland[5] = new Option("Neusiedl am See");
  Bundesland.Burgenland[6] = new Option("Oberpullendorf");
  Bundesland.Burgenland[7] = new Option("Oberwart");
  Bundesland.Burgenland[8] = new Option("Rust Stadt");

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

Bundesland.Vorarlberg[0] = new Option("Bludenz");
  Bundesland.Vorarlberg[1] = new Option("Bregenz");
  Bundesland.Vorarlberg[2] = new Option("Dornbirn");
  Bundesland.Vorarlberg[3] = new Option("Feldkirch");

bundesland = document.Formular.Bundesland.options[document.Formular.Bundesland.selectedIndex].text;

var bezirke = Bundesland[bundesland];

//for(var bundesland in Bundesland)
  //{
  //for(var i = 0; Bundesland[bundesland].length; i++)
  //{
  //alert(bundesland[i]);

for(var i = 0; i < bezirke.length; i++) document.Formular.Bezirk.options[i+1] = bezirke[i];

Wenn ich an dieser Stelle das for in einbaue ohne die // dann bekomme ich undeffinied als fehlermeldung und lande in einer Endlosschleife... die nicht mehr aufhört*gg*

Was bewirkt genau (var bundesland in Bundesland) ???

Hast du damit gemeint das ich das anstatt der for in Schlefe nehmen soll?:

/* getBezirk( [string] )*/
/* Rückgabe der Bezirke eine bundeslandes
oder aller wenn kein Bundesland angegeben wird
*/
function getBezirke(b)
{
    if(b) Bundesland[b];
    var tmp = new Array();
    for(var b in Bundesland)
    for(var i = 0; Bundesland[i]; i++) tmp[tmp.length] = Bundesland[i];
    return tmp;
}

wenn ich das anstatt der for Schleife nehmen soll bitte ich um nähere Erklärung von:

getBezirk ([string]) // Was soll ich für string reinschreiben?

function getBezirke(b) // absichtlich Bezirke? statt Bezirk? und für was steht (b) bzw [b]

Vl können wir jetzt das Problem dank deiner großartigen Hilfe abschließen.

Danke im voraus

MFG
Markus