Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] 2 verkettete Dropdowns

Einklappen

Neue Werbung 2019

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

  • [Erledigt] 2 verkettete Dropdowns

    Hallo Forum,

    ich habe ein kleines JQuery-Problem mit 2 verketteten dropdowns.

    Das eine Dropdown soll mir die KFZ-Art anzeigen.
    z.B. PKW, LKW, BUS etc.....

    Das andere Dropdown soll je nach Auswahl der KFZ-Art, den KFZ-Aufbau anzeigen.
    Z.B.
    Für PKW
    - Limousine
    - Coupe
    - Sportwagen
    - Cabriolet
    etc. ....

    Ich treffe nun eine Auswahl der KFZ-Art und es werden mir alle KFZ-Aufbautypen in dem zweiten Dropdown angezeigt.

    Nun klicke ich auf Speichern und es werden mir beide IDs in einer Datenbanktabelle gespeichert.

    Nun schliesse ich die Maske und öffne sie erneut und erwarte natürlich das beide Dropdowns vorselektiert sind, da sie die gespeicherten IDs auslesen.

    Aber.....Nö....is nicht.
    Die PKW-Art wird vorselektiert, jedoch der PKW-Aufbau nicht.

    Art und Aufbau werden folgendermaßen selektiert:

    PHP-Code:
            public function ShowCategory()
            {
                
    $sql "Select gutachtennummer, art FROM fahrzeugdaten where gutachtennummer = '150114-1015746805'"//'".$_SESSION['x_auftragsnummer']."'"
                
    $result mysql_query($sql) or die ("Fehler bei Vorselektion: ".mysql_error());
                
                
    $row mysql_fetch_array($result);
                
    $vorselektion $row['art'];
                
                
    $sql "Select id, fahrzeugart FROM fahrzart";
                
    $res mysql_query($sql,$this->conn);
                
    //$category = '<option value="0">w&auml;hlen...</option>';
                
    while($row2 mysql_fetch_array($res))
                {
                    
                If (
    $row2['id']==$vorselektion) {
                    
    $selected "selected";
                } else {
                    
    $selected "";
                }
                    
                    
    $category .= '<option value="' $row2['id'] . '" '$selected.'>' $row2['fahrzeugart'] . '</option>';
                }
                return 
    $category;
            }
     
            public function 
    ShowType()
            {
                
    $sql "Select gutachtennummer, aufbau FROM fahrzeugdaten where gutachtennummer = '150114-1015746805'"//'".$_SESSION['x_auftragsnummer']."'"
                
    $result mysql_query($sql) or die ("Fehler bei Vorselektion: ".mysql_error());

                
    $row mysql_fetch_array($result);
                
    $vorselektion2 $row['aufbau'];

                
    $sql "SELECT * FROM fahrzaufbau WHERE C_ART=$_POST[id]";
                
    $res mysql_query($sql,$this->conn);
                while(
    $row2 mysql_fetch_array($res))
                {
                    
                If (
    $row2['id']==$vorselektion2) {
                    
    $selected2 "selected";
                } else {
                    
    $selected2 "";
                }
                    
                    
    $type .= '<option value="' $row2['id'] . '" '.$selected2.'>' $row2['C_AUFBAU'] . '</option>';
                }
                return 
    $type;
            } 
    Warum erfolgt keine vorselektierung in der Funktion "ShowType()" ?

    Wäre für jede Hilfe dankbar.

    Viele Grüße

  • #2
    Hallöchen,

    fehlt nur noch der jQuery-Code. Kannst du das Bitte als nachvollziehbaren Testcase bspw. mit jsFiddle veröffentlich?

    Viele Grüße,
    lotti
    [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

    Kommentar


    • #3
      Hi,

      kommt gleich.

      Kommentar


      • #4
        Probiers mal hiermit:
        http://http://94.221.62.103:8022/Tes...fz_options.php

        Der Link sollte für eine Weile zur Ansicht der Dropdowns funktionieren.
        Auf jsfiddle habe ich es leider nicht hinbekommen die Dropdowns mit den Items aus meiner Datenbank zu befüllen.

        Dennoch anbei der JSFiddle Link:
        http://jsfiddle.net/K7prT/2/embedded/result/

        Gib mir bitte eine Info, sollte ich noch mehr code posten .

        Besten Dank im Voraus.

        Kommentar


        • #5
          Zwei Funktionen, die nahezu das gleiche machen. Code trennen, eine Funktion die Daten liefert, eine die den HTML SELECT daraus baut.
          Funktionsparameter benutzen, nicht in Funktionen auf globals oder superglobals zugreifen!

          Das ist beim Laden dein Problem (ShowType):
          PHP-Code:
          $sql "SELECT * FROM fahrzaufbau WHERE C_ART=$_POST[id]"
          error_reporting aufdrehen und Fehler und Warnungen verarbeiten.

          Zu guter Schluss die obligatorischen Hinweise zu veralteter mysql Extension und SQL Injection Gefahr...
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Ich hab's.
            Jetzt geht's.

            Die Lösung ist:
            Ich hätte die beiden Sessionvariablen in die SESSION reinschreiben müssen, noch bevor ich die Maske mit den Dropdowns öffne.

            Vielen Dank an alle.

            Bis zum nächsten Mal!

            Kommentar

            Lädt...
            X