Markus: Was ist falsch?

Beitrag lesen

HI

Danke euch beiden echt recht herzlich!

probiere das jetzt zusammen zubauen..

ok nehme setIndex()

function setIndex()

Ok benenne sie jetzt von searchBezirk auf getBundesland um:

function getBundesland(bezirk)
{
  for(var b in Bundesland)
  for(var i= 0; Bundesland[b][i];i++)
     if(Bundesland[b][i] == bezirk)) return b;
}

var bezirk = "Hermagor";

var bundesland = getBundesland(bezirk);

mit "Hermagor" im Test geht es super!

schalte mal das "Hermagor" aus:

// var bezirk = "Hermagor";

nun fängt schon mein 1 Problem an:
Er schreibt nach folgendem Testalert:

var bundesl = getBundesland(bezirk); alert(bundesl);

bezirk ist undeffiniert (mit Hermagor ist es noch gegangen)

nun die neue Funktion:

Genau

Wo stehen die Bundesländer?
in dem Formular in der Liste Bundesland.

Muß das machen weil ich das Formular nich als Parameter übergebe:

Also musst du diese Liste durchgehen und jeden Eintrag mit der Variabeln b vergleichen.

Mache ich nicht! bis jetzt chkBezirk() nun geändert auf getBundesland() oder setIndex() (mit od ohne b)

Da du aber das Formular als Parameter übergibst (hoffe ich mal)
onchange="chkBundesland(this.form);"
this.form ist die Referenz auf das Formular. und in der Funktion
function chkBundesland(form) ist dann form die Referenz.
Mit dieser Referenz kannst du eine Referenz auf das select Feld übergeben von dem du den Index setzten willst:

Hab im obigen Beitrag gelesen: und es jetzt so probiert:

function setIndex(b)
{
for(var i = 0; i < document.Formular.Bundesland.length; i++)
if(document.Formular.Bundesland[i].text == bundesl)
document.Formular.Bundesland.selectedIndex = i;
}

Wäre das falsch? wenn ich bein onchange dann setIndex() od mit (b) aufrufe?

Oder muß ich trotzdem diese Variante mit feld nehmen auch wenn ich das Formular nicht als Parameter übergebe:

function setIndex(b, feld)
{
}

so, das Feld ist eine Kollektion (ein Array) von options mit der eigenschaft length.

for(var i=0; i < feld.length;i++)
if(feld.options[i].text == b) feld.selectedIndex = i;

Ist schon fast fertig würde ich sagen..

muß es jetzt nur mehr richtig zusammenbauen hoffe mit deiner Hilfe und bitte nicht verzweifeln!

Danke MFG
Markus