Frage zu PopUpMenü

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

  • Frage zu PopUpMenü

    Hallo zusammen,

    folgendes Problem:
    Ich habe eine Location Tabelle in meiner SQL Datenbank.
    Felder
    Land, Ort, Name, ID.

    In dem ersten PopUPMenü soll der User das Land auswählen.

    Dann soll ein zweites PopUPMenü aufgehen, wo alle Orte zum ausgewählen Land drinn stehen.

    Jetzt soll der User ein Ort auswählen und ein drittes PopUPMenü aufgehen, wo alle Locationsnamen, zum gewählen Ort, drinn enthalten sind.

    Wie muss das Script aussehen??????

    Vielen Dank

    Robert

  • #2
    Ich schätze du meinst Dropdowns ... Wie auch immer; wenn das alles ohne Neuladen der Seite laufen soll, musst Du mit PHP Java-Script-Code erstellen der Arrays definiert, die die weiteren Dropdowns je nach aktuellem Wert füllen.

    Hab ich vor einigen Jahren mal auf hotel-career gemacht; z.B. hier. Schau einfach mal in den Quellcode der HTML-Ausgabe, dann bekommst du ne ungefähre Idee, wie man es machen kann.

    Suche nach 'stadt_v1' führt dich zu den Java-Script-Arrays; die Funktion 'auswahl_NR' sorgt für das Füllen der beiden selects für Stadt und Region; die Selects selbst stehen ein paar Zeilen unterhalb von 'Destination'.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Ja, ich meine DropDown.....

      Nun ja, wenn mann dieses Seite Ohne mehrmaliges laden erstellt, sind das schon sehr sehr viele Daten, ich sprech von ca. 8000 locations.

      Ich hatte gedacht, erst alle Länder laden, dann alle Städte und dann alle Lactions zur Stadt. Ich denke, das die Ladezeit, dann auch nicht so extrem Lange ist.

      Währe es so denn möglich??????

      Grüße
      Robert

      Kommentar


      • #4
        du hast zwei möglichkeiten

        entweder du lädst die seite neu, sobald der besucher ein land auswählt und listest dann in nem zweiten dropdownmenü alle orte auf und machst das immer und immer wieder


        oder du lädst alle informationen auf einen schlag

        letzteres hat den vorteil, dass die seite nicht andauernd neu geladen werden muss (land A => Ort 45 => Land B => Ort 26 geht ohne verzögerung, da die infos schon da sind)
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Mir ist noch ne dritte Möglichkeit eingefallen, bei der nicht alles neu geladen werden muss: iframes (ab IE3, NN6). getElementById() funzt allerdings "erst" ab IE5.)
          PHP-Code:
          <script language="javascript"><!--
          function 
          jump(wassel)
          {
            
          document.getElementById(was).location.replace(
              
          was'.php?wo='sel.options[sel.selectedIndex].value
            
          );
          }
          //--></script>
          <form name="destination" ...>
            <
          select name="land" onChange="jump('orte', this);">
              ...
            </
          select>
            <
          input type="hidden" name="ort" value="">
            <
          input type="hidden" name="location" value="">
          </
          form>
          <
          iframe id="orte" src="orte.php?wo=0" width="120" height="100">
            
          mist ... keine iFrames</iframe>
          <
          iframe id="locations" src="locations.php?wo=0" width="120" height="100"></iframe>
            ...
          </
          form
          orte.php: sucht die Orte, die im Land mit der id=$_GET['wo'] zu finden sind und fügt sie hier im Select als options ein:
          PHP-Code:
          <script language="javascript"><!--
          function 
          ortjump(sel)
          {
            
          // Auswahl in hidden input kopieren und Location-Frame neu laden
            
          parent.forms['destination'].elements['ort'].value =
              
          sel.options[sel.selectedIndex].value;
            
          parent.document.jump('locations'sel);
          }
          //--></script>
          <form ...>
            <
          select name="orte" onChange="ortjump(this);">
              ...
            </
          select>
          </
          form
          locations.php: sucht alle Locations aus der Stadt mit id=$_GET['wo'] und fügt sie hier ein:
          PHP-Code:
          <script language="javascript"><!--
          function 
          locjump(sel)
          {
            
          // Auswahl in hidden input kopieren
            
          parent.forms['destination'].elements['location'].value =
              
          sel.options[sel.selectedIndex].value;
          }
          //--></script>
          <form ...>
            <
          select name="orte" onChange="locjump(this);">
              ...
            </
          select>
          </
          form
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar

          Lädt...
          X