Ankündigung

Einklappen
Keine Ankündigung bisher.

Dropdown onchange auf gleiche Seite

Einklappen

Neue Werbung 2019

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

  • Dropdown onchange auf gleiche Seite

    Hallo,

    ich habe eine php-Seite. Dort werden aus einer Datenbank Fahrzeughersteller und die einzelnen Typen je Hersteller in ein Array geschrieben und dann über eine for-Schleife in ein Dropdown-feld per "<selected></selected>"-Struktur geschrieben.

    Nun möchte ich realisieren, dass beim onChange auf einen Hersteller die gleiche Seite neu geladen wird. Allerdings sollte nun der vorher gewählte Hersteller noch angewählt sein. Zudem soll nun ein zweites Dropdown-Feld erscheinen, in welchem ich die Typen zu dem jeweiligen Hersteller dann wieder per for-schleife eintragen kann.

    Mein Problem betrifft die Javascript-Funktion die ich für das onchange-ereignis benötige. Wie kann ich per Javascript die gleiche Seite aufrufen und die SelectedIndex übergeben, so dass ich dann damit weiter arbeiten kann?

    PHP-Code:
      [...]
      echo 
    " <select name=\"sel_hersteller\">";        
         for (
    $i=0;$i<count($carlist);$i++) {
           
    $key_hersteller key($carlist);
           
    $key_typ        key($carlist[$key_hersteller]);
        
           
    reset($carlist[$key_hersteller]);
            
           echo 
    "<option value=\".$carlist[$key_hersteller][$key_typ]['hersteller'].\" onchange=\"javascript:wechselcar(".$carlist[$key_hersteller][$key_typ]['hersteller'].");\">".$carlist[$key_hersteller][$key_typ]['hersteller']."</option>";

            
    next($carlist);
          }
         echo 
    " </select>";
    [...] 
    Javascript zu wechselcar()

    Code:
         function wechselcar(hersteller){
    location.href="index_start.php?id="<?.$carlist[$key_hersteller][$key_typ]['id'].?>"&s_hersteller="hersteller"&s_typ="<?.$carlist[$key_hersteller][$key_typ]['typ'].?>"&sel_her="<?.$sel_hersteller.?>" ";
    	}
    Hier kriege ich in der Funktion noch nen parse-Error (ohne weiteren Hinweis), allerdings funktioniert das sicher irgendwie besser, oder?

    Bin für jeden Tipp dankbar und danke schonmal im Voraus für Eure eventuellen Mühen.

    Steffen

  • #2
    Schau mal hier vorbei vielleicht hilft dir das!
    http://www.dynamicdrive.com/dynamici...ects/index.htm

    Kommentar


    • #3
      danke. Das schau ich mir gleich mal an.

      Habe zwar mittlerweile eine andere Lösung gefunden, aber Wissen schadet bekanntlich ja nicht.

      Meine Lösung sieht wie folgt aus.

      Ich verzichte ganz auf Javascript (man weiß ja nie wer das alles deaktiviert hat heutzutage) und sende lieber das Form mit der ersten <select> per $PHP_SELF an sich selbst. übergebe dabei in einem Hidden-feld eine Variable die ich beim zweiten Mal überprüfe um mir dann die zweite <select> anzeigen zu lassen, wenn die Variable passt.

      Das bedeutet zwar eine Interaktion, um die erste Auswahl zu bestätigen, aber egal, passt scho...

      PS: Ich finde gut dass bei $PHP_SELF alle Inputs mitgegeben werden

      PPS: Frohes Fest

      Kommentar

      Lädt...
      X