Tobias: dynamische selectauswahlmenus

hi ...

ich habe ein problem mit dynamisch generierten select bausteinen.
ich möchte gerne eine grandselect (bspweise mit landwahl), dann soll der zweite select darauf in echtzeit reagieren und mir demensprechende andere auswahlmöglichkeiten des jeweiligen landes bieten.
leider bin ich überfragt es in echtzeit zu realisieren.
wäre nett, wenn jemand von euch mir einen ansatz geben könnte.

grüße tobias.

  1. hey

    ich glaube sowas ist irgendwo mit javascript realisiert wurden musst mal unter google schauen ...

    farant

  2. Hallo,

    wenn die Menüs in 'Echtueit' aufeinander reagieren sollen ist dies nur per javascript möglich, das durch dein php erstellt wurde.
    Anderweitig eben nur per http-request und php.

    Odium

  3. *g* , klau dir den Source von Ebay, die machen das da auch so :))
    Nein nein, scherz beseite, hier mal ein kleines Beispieldokument:
    ------------------------------------------------------------------
    <!doctype html public "-//W3C//DTD HTML 4.01 //EN">
    <html>
    <head>
    <title></title>
    <meta name="author" content="Hanno Becker">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
    <script type="text/javascript">
    <!--
    var active;
    listen = new Array();
    listen[0] = new Array();
    listen[0][0] = "artikel1";
    listen[0][1] = new Array("at1b1");
    listen[1] = new Array();
    listen[1][0] = "artikel2";
    listen[1][1] = new Array("at2b1","at2b2");
    listen[2] = new Array();
    listen[2][0] = "artikel3";
    listen[2][1] = new Array("at3b1","at3b2","at3b3");
    listen[3] = new Array();
    listen[3][0] = "artikel4";
    listen[3][1] = new Array("at4b1","at4b2","at4b3","at4b4");

    function drawBase()
    {
       document.writeln("<select id='select_type_first' onchange='restore()'>");
       var i = 0;
       var count = 0;
       while(i<4)
       {
          document.writeln("<option value='" + listen[i][0] + "'>" + listen[i][0] + "</option>");
          if (listen[i].length > count)
             count = listen[i].length;

    i++;
       }
       document.writeln("</select>");

    document.writeln("<select name='select_type_second'></select>");

    active = 0;
       restore();

    }

    function restore()
    {
       active = document.getElementById("select_type_first").options.selectedIndex;
       var i = 0;
       for (i=0;i<document.getElementById("select_type_second").options.length;i++)
          document.getElementById("select_type_second").options[0] = null;
       for (i=0;i<listen[active][1].length;i++)
       {
          document.getElementById("select_type_second").options[document.getElementById("select_type_second").length] = new Option(listen[active][1][i],listen[active][1][i]);
       }
    }

    -->
    </script>
    </head>
    <body>
    <script type="text/javascript">
    drawBase();
    </script>
    </body>
    </html>
    --------------------------------------------------------
    Viel Spaß damit
    Gruß
    Hanno