dynamische auswahlboxen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dynamische auswahlboxen

    Hallo,
    wie kann man verschachtelte dynamische auswahlmenus (die <option> dinger) in irgendeiner Sprache (PHP, Java, Javascript...) programmieren? Wenn man im ersten Auswahlmenu zum Beispiel warmes Essen auswählt, soll eine zweite erscheinen (bzw. eine, die schon da war sich mit Auswahlmöglichkeiten füllen) und z.B. Pizza, Nudeln, Kartoffeln anbieten, wenn man oben kaltes Essen auswählt, aber nur Salat, eis usw. zur Auswahl stellen.

    Vielen Dank für Eure Hilfe

    Sebastian Scheurle

    P.S.:Habe weder hier noch bei SelfHtml oder so etwas gefunden, es aber schon irgendwo im Internet gesehen...

  • #2
    Wenn du schon fragst "in irgendeiner Sprache (PHP, Java, Javascript...)", warum suchst du dann nicht treffenderweise z.B. bei JavaScript, sondern bei HTML?

    Hier gibt es z.B. sowas.
    if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

    Kommentar


    • #3
      selfhtml hat auch seiten zu Javascript, trotzdem danke- hat noch jemand ideen für php?

      Kommentar


      • #4
        geht schon mit php,

        nur: php ist serverseitig. soll heissen, dass bei jeder menuwahl (dann soll ja entsprechende untermenu angezeigt werden) die seite neu vom server geladen wird.

        dafür schliesst du keine user aus (javascript ist nicht für alle browser)
        wissen ist macht; und ich bin dumm

        Kommentar


        • #5
          du kommst für so eine navigation um javascript nicht herum.
          entweder
          - lädtst du die die daten in entsprechende javascript-arrays und
          erzeugst so die sich nacheinander öffnenden submenüs

          oder
          - du sendest die auswahl an den server und verarbeitest sie per php,
          kommst mit dem erweiterten menü zurück, usw.

          in beiden fällen musst du js einsetzen, einmal um das menü zu laden, das
          andere mal, um das formular zu senden.
          EDIT:
          schwachfug, im 2. fall könntest du das formular per button senden, also ohne js
          Zuletzt geändert von Wurzel; 19.11.2003, 20:22.
          Kissolino.com

          Kommentar


          • #6
            Er könnte es auch mit onChange abschicken lassen (ohne Button)...ist Geschmackssache.

            Kommentar


            • #7
              ... womit wir wieder beim js sind ...
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Danke für die vielen Beiträge, aber der Link von mrwhorf (http://www.jswelt.de/index.php?openc...rtid=981192453) funktioniert bei mir einfach nicht (IE6)- er meint, dass es funktioniert- wie ist es bei euch??? Kann mir ansonsten jemand den Code, der dort steht, zuschicken?

                Sebastian

                Kommentar


                • #9
                  Ich weiß nicht, was du hast. Hab auch IE6 und es geht ohne Probleme.
                  Hier ist der Code der da steht:
                  PHP-Code:
                  <form name="doublecombo">
                  <
                  p><select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
                  <
                  option>Starke Seiten</option>
                  <
                  option>Tolle Seiten</option>
                  <
                  option>Such Seiten</option>
                  </
                  select>
                  <
                  select name="stage2" size="1">
                  <
                  option value="index.php3?opencat=Gästebuch">Gästebuch</option>
                  <
                  option value="index.php3?opencat=Impressum">Impressum</option>
                  </
                  select>
                  <
                  input type="button" name="test" value="Go!" onClick="go()"></p>
                  <
                  script>
                  <!--
                  //Dieses Skript stammt von Michael Mailer´s JavaScripts
                  //URL: [url]http://www.webaid.de/js[/url]  --  eMail: [email]mm@webaid.de[/email]
                  //Bitte   entfernen   Sie   diesen   Vermerk   nicht  !
                  var groups=document.doublecombo.example.options.length
                  var group=new Array(groups)
                  for (
                  i=0i<groupsi++)
                  group[i]=new Array()

                  group[0][0]=new Option("Gästebuch","index.php3?opencat=Gästebuch")
                  group[0][1]=new Option("Impressum","index.php3?opencat=Impressum")
                  //group[0][2]=new Option("HotBot","http://www.hotbot.com")

                  group[1][0]=new Option("webAID","http://www.webaid.de")
                  group[1][1]=new Option("con.firm","http://www.jswelt.de")

                  group[2][0]=new Option("Hotbot","http://www.hotbot.com")
                  group[2][1]=new Option("Infoseek","http://www.infoseek.com")
                  group[2][2]=new Option("Excite","http://www.excite.com")
                  group[2][3]=new Option("Lycos","http://www.lycos.com")

                  var 
                  temp=document.doublecombo.stage2

                  function redirect(x){
                  for (
                  m=temp.options.length-1;m>0;m--)
                  temp.options[m]=null
                  for (i=0;i<group[x].length;i++){
                  temp.options[i]=new Option(group[x][i].text,group[x][i].value)
                  }
                  temp.options[0].selected=true
                  }

                  function 
                  go(){
                  location=temp.options[temp.selectedIndex].value
                  }

                  //-->
                  </script>
                  </
                  form
                  it's not a bug,
                  it's a feature!

                  Kommentar


                  • #10
                    Danke

                    Kommentar

                    Lädt...
                    X