Ncio: Dynamisch generierte Select-Boxen

Hallo,

bitte helft mir dabei, folgendes Script -an dem ich langsam verwzeifle- richtig ans Laufen zu kriegen.

Bei Auswahl eines bestimmen Landes in der ersten Selectbox, soll eine zweite Selectbox erscheinen, in der die Regionen dieses Landes aufgelistet sind.

Klicke ich nun in der ersten selectbox auf alle "Alle Länder", soll die zweite Selectbox wieder verschwinden.

Hier mein Script (inclusive Fehler :-( ) :
------------------------------------------------------

<html>

<head>
<title></title>
<script language="JavaScript">
<!--
function Wertuebertragen( i, name ) {
 if(document.getElementById){
  var selected = document.getElementById( name );
  for(var j=0; j<selected.length;++j) {
   if( selected.options[j].selected == true)
    document.forms[0].b_land.value = selected.options[j].value;
  }
 }
 else if (document.layers){
  for(j=0;j<document.layers[i].document.forms[0].name.length;++j)
   if(document.layers[i].document.forms[0].name.options[j].selected == true)
    document.forms[0].b_land.value=document.layers[i].document.forms[0].name.options[j].value;
 }
 else if (document.all){
  for(j=0;j<document.forms[0].name.length;++j)
   if(document.forms[0].name.options[j].selected == true)
  document.forms[0].b_land.value=document.forms[0].name.options[j].value;
 }
return
}

var last=0;
function zeigeLaender()
{
 var num;

for(var j=0; j<document.forms[0].land.length;++j) {
   if( document.forms[0].land.options[j].selected == true) num = j;
 }

if ( document.layers ){
  document.layers[last].visibility="hide";
  if(num>0)document.layers[num].visibility="show";
 }

else if ( document.all ){
  document.all.tags("div")[last].style.diplay="none";
  if(num>0)document.all.tags("div")[num].style.display="block";
 }

last=num;
 document.forms[0].b_land.value="";
return
}

//-->

</script>
</head>

<body>

<form action="beispiel.php3" name="FrontPage_Form1" method="GET">
<input type="hidden" name="notify" value="yes">
<input type="hidden" name="b_land" value="">
 
<center>
  <table CELLSPACING="0" BORDER="0" bgcolor="#00FFFF" width="512" style="font-family: Verdana; font-size: 10pt">

<tr>
      <td width="12%">BAUJAHR <small>(jünger als)</small>:</td>
      <td width="12%"><select NAME="baujahr" SIZE="1">
        <option VALUE></option>
        <option VALUE="2001">2001</option>
        <option VALUE="2000">2000</option>
      </select>
      </td>

<td width="114">LAND:</td>
      <td width="123"><select name="land" size="1" onchange="zeigeLaender()">
        <option value="Alle">Alle Laender</option>
        <option value="Deutschland">Deutschland</option>
        <option value="Frankreich">France</option>
      </select></td>
    </tr>

<tr>
      <td width="114">PREIS(Euro) <small>max.</small>:</td>
      <td width="123"><select name="preis" size="1">
        <option value></option>
        <option value="100">100</option>
        <option value="300">300</option>
        <option value="500">500</option>
      </select></td>
      <td width="114">REGION:</td>
      <td width="123">
  <div id="Deutschland" style="display:none">
   <p><select name="Deutschland" size="1" onchange="Wertuebertragen(0, 'Deutschland')">
   <option value>Alle Regionen</option>
   <option value="Baden-Württemberg">Baden-Württemberg</option>
   <option value="Bayern">Bayern</option>
   <option value="Berlin">Berlin</option>
   </select></p>
  </div>

<div id="Frankreich" style="display:none">
   <p><select name="Frankreich" size="1" onchange="Wertuebertragen(1, 'Frankreich')">
   <option value>Alle Regionen</option>
   <option value="Alsace">Alsace</option>
   <option value="Aquitaine">Aquitaine</option>
   <option value="Auvergne">Auvergne</option>
   <option value="Basse Normandie">Basse Normandie</option>
   </select></p>
  </div>
      </td>
 <tr><td colspan=4 align=center>
  <input type="Submit" name="submit" value="Abschicken">
  <input type="reset" value="Löschen">
 </td></tr>
  </table>

</center>
</form>

</body>
</html>
------------------------------------------------------

Danke im voraus für Eure Tipps
Grüße
Nico

  1. Hallo,

    bitte helft mir dabei, folgendes Script -an dem ich langsam verwzeifle- richtig ans Laufen zu kriegen.

    Bei Auswahl eines bestimmen Landes in der ersten Selectbox, soll eine zweite Selectbox erscheinen, in der die Regionen dieses Landes aufgelistet sind.

    Klicke ich nun in der ersten selectbox auf alle "Alle Länder", soll die zweite Selectbox wieder verschwinden.

    Hallo!
    Unter http://www.cfml.de/cfml/cftrix/obj/articlebox/article/show.cfm?AID=50&515884984
    findest Du auch so ein Beispiel. Das müsstest Du problemlos anpassen können.

    Gruss Alexa

    1. Hi Alexa,

      bei Deiner Lösung handelt es sich um aus einer Datenbank generierte, dynamische Selectboxen.

      Diese Lösung suchte ich allerdings nicht ....

      Hast Du eine Idee, wie ich mein Ausgangsscript korrekt ans Laufen bekomme?

      Gruesse,
      Nico

      1. Hi Alexa,

        bei Deiner Lösung handelt es sich um aus einer Datenbank generierte, dynamische Selectboxen.

        Diese Lösung suchte ich allerdings nicht ....

        Hast Du eine Idee, wie ich mein Ausgangsscript korrekt ans Laufen bekomme?

        Gruesse,
        Nico

        Hallo Nico,

        weisst Du, wo bei dir genau der Fehler liegt? Ich bin leider auch nicht so der Profi, aber das andere hat bei mir funktioniert. Die
        Datenbank brauchst Du auch gar nicht. Aus den Daten wird nämlich ein Array erstellt, und das kannst Du ja auch selber ohne Datenbank
        also z.B.
        var laender = new Array();
        laender[0]='Deutschland';
        laender[1]='Deutschland';
        laender[2]='Deutschland';
        laender[3]='Frankreich';

        var regionen = new Array();
        regionen[0]='Berlin';
        regionen[1]='Bayern';
        regionen[2]='Ba-Wü';
        regionen[3]='Paris';

        Gruss Alexa

        1. Hast Du eine Idee, wie ich mein Ausgangsscript korrekt ans Laufen bekomme?

          noch ne Frage: hast Du das Script selber geschrieben, oder wo hast du's her (mit Link)?

          Alexa

          1. Hi Alexa,

            noch ne Frage: hast Du das Script selber geschrieben, oder wo hast du's her (mit Link)?

            Das Ausgangsscript stammt von mir. Es haben mir allerdings schon andere dabei geholfen, den/die Fehler zu suchen, ohne dass eine richtig funktionierende Lösung dabei herauskam. Anscheinend war kein JS.Experte dabei, der ich leider auch nicht bin.

            Wenn ich wüsste, wo der Fehler steckt, wäre er wahrscheinlich schon behoben. Aber das ist es je gerade.....

            Fast verzweifelnde Grüße
            Nico

            1. Hi Alexa,

              noch ne Frage: hast Du das Script selber geschrieben, oder wo hast du's her (mit Link)?

              Das Ausgangsscript stammt von mir. Es haben mir allerdings schon andere dabei geholfen, den/die Fehler zu suchen, ohne dass eine richtig funktionierende Lösung dabei herauskam. Anscheinend war kein JS.Experte dabei, der ich leider auch nicht bin.

              Wenn ich wüsste, wo der Fehler steckt, wäre er wahrscheinlich schon behoben. Aber das ist es je gerade.....

              Fast verzweifelnde Grüße
              Nico

              Hallo Nico!

              pack mal um die erste Auswahlliste auch einen DIV-Bereich...
              <div id="Laender">
              <select name="land" size="1" onchange="zeigeLaender()">
              <option value="Alle">Alle Laender</option>
              <option value="Deutschland">Deutschland</option>
              <option value="Frankreich">France</option>
              </select>
              </div>

              Dann wird zumindest die richtige Liste eingeblendet. Nun musst Du nur noch die Liste wieder ausblenden lassen und dafür die andere einblenden.
              Wenn Du dabei noch Probleme hast, kannst Dich ja nochmal melden.

              gruss Alexa