Ralf Heumann: Divs per Drop-Down-Menü switchen

Beitrag lesen

Hallo,

sitze jetzt schon länger an folgendem Problem:
Ich möchte per Dropdownmenü verschiedene Divs darunter switchen.
Funktion:

<script language="JavaScript">
<!--
function checkOptions(fieldId) {

for(var i = 0; i < document.formDistribution.elements[0].length; i++)
  {
  if(document.formDistribution.elements[0].options[i].value == fieldId)
    {
    document.getElementById(fieldId).style.display = 'block';
    }
  else if(document.formDistribution.elements[0].options[i].value != fieldId)
    {
    document.getElementById(document.formDistribution.elements[0].options[i].value).style.display = 'none';
    }
  }
}
//-->
</script>

Unten im Body steht:

<form name="formDistribution" action="" method="post">
  <select name="international" onChange="checkOptions(this.value); return false;" style="width:400px;">
    <option value="0">-- International --</option>
    <option value="Australia">Australia</option>
    <option value="Canada">Canada</option>
    <option value="China">China</option>
    <option value="India">India</option>
    <option value="Israel">Israel</option>
    <option value="Japan">Japan</option>
    <option value="Malaysia">Malaysia</option>
    <option value="NewZealand">New Zealand</option>
    <option value="Philippines">Philippines</option>
    <option value="Singapore">Singapore</option>
    <option value="SouthAfrica">South Africa</option>
    <option value="SouthKorea">South Korea</option>
    <option value="Taiwan">Taiwan</option>
    <option value="Thailand">Thailand</option>
    <option value="USA">USA</option>
</select>
</form>

Dann ein paar DIVS die die ID-Namen der einzelnen Values tragen:

<div id="Australia" style="display: none;">
<h1>AUSTRALIA</h1>
</div>

<div id="Canada" style="display: none;">
<h1>CANADA</h1>
</div>

Wenn ich nun in der Funktion oben die Else-Abfrage weglasse so kann ich alle Divs schön einblenden, allerdings stapeln sie sich untereinander... Ich möchte aber, dass die anderen ausgeblendet werden. Die wollte ich mit einer for-Schleife lösen, die eben alle Values aus der Dropdownbox ausliest und dann checkt, welches Feld angezeigt werden soll, die anderen aber ausblendet.

es funktioniert aber nicht, wo ist der Fehler?