JQuery-Script "abhängige dropdowns" funktioniert nicht korrekt

Hallo liebe Forengemeinde,

bin wieder einmal mit einer JQuery-Script Problematik hier gelandet.
Bei diesem Script handelt es sich um 2 dropdowns, bei dem das zweite vom ersten dropdown abhängig ist. Leider funktioniert es nicht richtig.
Daher bitte ich Euch hiermit um Eure Hilfe.

Problem:
Wähle ich erstmalig im ersten dropdown einen Eintrag aus, dann erhalte ich auch alle zugehörigen Sub-Einträge im zweiten dropdown zur Auswahl.

Wähle ich aber ein zweites Mal im ersten dropdown einen Eintrag, dann bleiben die Einträge vom ersten Mal im zweiten dropdown.

Z.B.
Ich wähle im ersten dropdown den Eintrag „PKW“.
Ich erhalte im zweiten dropdown die Einträge „Limousine“, „Cabrio“, „Kombi“ etc…

Wähle ich nun im ersten dropdown den Eintrag „LKW“, dann bleiben leider die Einträge im zweiten dropdown zu „PKW“. Sie ändern sich also nicht.

Woran kann das liegen???

Meine Scripte:

HTML:

     
         
         
         
             
             
             
                 $("#kfzart").jCombo({url: "getKFZArt.php" });
                 $("#kfzaufbau").jCombo({
                     url: "getKFZAufbau.php", 
                     input\_param: "id", 
                     parent: "#kfzart", 
                     onChange: function(newvalue) {
                         $("#message").text("parent has changed to value " + newvalue)
                         .fadeIn("fast",function() {
                             $(this).fadeOut(3500);
                         });
                     }
                 });    
             
         

Script getKFZArt.php:

 <?php     // Connect Database<br /> include('connect.php');
 &nbsp;&nbsp; &nbsp;// Execute Query in der richtigen Reihenfolge 
 &nbsp;&nbsp; &nbsp;//(value,text)
 &nbsp;&nbsp; &nbsp;$query = "Select id, fahrzeugart FROM fahrzart ORDER BY id";
 &nbsp;&nbsp; &nbsp;$result = mysql\_query($query);
 &nbsp;&nbsp; &nbsp;$items = array();
 &nbsp;&nbsp; &nbsp;if($result && 
 &nbsp;&nbsp; &nbsp; &nbsp; mysql\_num\_rows($result)\>0) {
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;while($row = mysql\_fetch\_array($result)) {
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$option = array("id" =\> $row[0], "value" =\> htmlentities($row[1]));
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$items[] = $option;
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp;&nbsp; &nbsp;}
 &nbsp;&nbsp; &nbsp;mysql\_close();
 &nbsp;&nbsp; &nbsp;$data = json\_encode($items);
 &nbsp;&nbsp; &nbsp;// Konvertieren in JSON-Format und drucken
 &nbsp;&nbsp; &nbsp;$response = isset($\_GET['callback'])?$\_GET['callback']."(".$data.")":blush:data;
 &nbsp;&nbsp; &nbsp;echo($response); &nbsp; 
 ?\>

Das Script getKFZAufbau.php:

 <?php     // Connect Database<br /> include('connect.php');
 &nbsp;&nbsp; &nbsp;
 &nbsp;&nbsp; &nbsp;// Get-Parameter von Array
 &nbsp;&nbsp; &nbsp;$kfzartId = !empty($\_GET['id'])
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?intval($\_GET['id']):0;
 &nbsp;&nbsp; &nbsp;
 &nbsp;&nbsp; &nbsp;switch($kfzartId) {
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;case 2: $where = "WHERE id\>=20 AND id=31 AND id=41 AND id=51 AND id=61 AND id=70 AND id0) {
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;while($row = mysql\_fetch\_array($result)) {
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$option = array("id" =\> $row[0], "value" =\> htmlentities($row[1]));
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$items[] = $option;
 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp;&nbsp; &nbsp;}
 &nbsp;&nbsp; &nbsp;mysql\_close();
 &nbsp;&nbsp; &nbsp;$data = json\_encode($items);
 &nbsp;&nbsp; &nbsp;$response = isset($\_GET['callback'])?$\_GET['callback']."(".$data.")":blush:data;
 &nbsp;&nbsp; &nbsp;echo($response); 
 ?\>

Es wäre fantastisch wenn Ihr mir dabei helfen würdet den Fehler zu finden.

Besten Dank im Voraus.

Grüße

Was hat denn das PHP zur Datenbeschaffung mit deinem jQuery-Problem zu tun? Deshalb hab ich es mir nicht angesehen. Und was bitte soll jcombo machen? Das ist also kein jQuery-Problem, sondern ein jCombo, was auch immer das sei.

Schmeiß jCombo weg und mach einfach auf Änderung des ersten drop-downs ein load() und liefere seitens PHP das entsprechende HTML aus.
https://api.jquery.com/load/

Noch besser wäre es aber, wenn du die Daten per AJAX als JSON holst und dann einfach optionen in das zweite select anfügst.
https://api.jquery.com/jQuery.getJSON/
https://api.jquery.com/add/

Das würde natürlich bedeuten, dass dein PHP-skript auch JSON liefern muss.
http://de3.php.net/manual/de/function.json-encode.php

Günther

Stern? Bitte gern.

Hallo liebe Forengemeinde,

bin wieder einmal mit einer JQuery-Script Problematik hier
gelandet.
Bei diesem Script handelt es sich um 2 dropdowns, bei dem das
zweite vom ersten dropdown abhängig ist. Leider funktioniert
es nicht richtig.
Daher bitte ich Euch hiermit um Eure Hilfe.

Problem:
Wähle ich erstmalig im ersten dropdown einen Eintrag aus, dann
erhalte ich auch alle zugehörigen Sub-Einträge im zweiten
dropdown zur Auswahl.

Wähle ich aber ein zweites Mal im ersten dropdown einen
Eintrag, dann bleiben die Einträge vom ersten Mal im zweiten
dropdown.

Z.B.
Ich wähle im ersten dropdown den Eintrag „PKW“.
Ich erhalte im zweiten dropdown die Einträge „Limousine“,
„Cabrio“, „Kombi“ etc…

Wähle ich nun im ersten dropdown den Eintrag „LKW“, dann
bleiben leider die Einträge im zweiten dropdown zu „PKW“. Sie
ändern sich also nicht.

Woran kann das liegen???

Meine Scripte:

HTML:

    
        
        
        
            
            
            
                $("#kfzart").jCombo({url: „getKFZArt.php“ });
                $("#kfzaufbau").jCombo({
                    url: „getKFZAufbau.php“,
                    input_param: „id“,
                    parent: „#kfzart“,
                    onChange: function(newvalue) {
                        $("#message").text("parent has changed
to value " + newvalue)
                        .fadeIn(„fast“,function() {
                            $(this).fadeOut(3500);
                        });
                    }
                });    
            
        

Script getKFZArt.php:

<?php :
    // Connect Database include('connect.php');     // Execute Query in der richtigen Reihenfolge     //(value,text)     $query = "Select id, fahrzeugart FROM fahrzart ORDER BY id";     $result = mysql\_query($query);     $items = array();     if($result &&        mysql\_num\_rows($result)\>0) {         while($row = mysql\_fetch\_array($result)) {             $option = array("id" =\> $row[0], "value" =\> htmlentities($row[1]));             $items[] = $option;         }             }     mysql\_close();     $data = json\_encode($items);     // Konvertieren in JSON-Format und drucken     $response = isset($\_GET['callback'])?$\_GET['callback']."(".$data.")":blush:data;     echo($response);   ?\> Das Script getKFZAufbau.php: <?php :
    // Connect Database include('connect.php');     // Get-Parameter von Array     $kfzartId = !empty($\_GET['id'])               ?intval($\_GET['id']):0;     switch($kfzartId) {         case 2: $where = "WHERE id\>=20 AND id=31 AND id=41 AND id=51 AND id=61 AND id=70 AND id0) {         while($row = mysql\_fetch\_array($result)) {             $option = array("id" =\> $row[0], "value" =\> htmlentities($row[1]));             $items[] = $option;         }             }     mysql\_close();     $data = json\_encode($items);     $response = isset($\_GET['callback'])?$\_GET['callback']."(".$data.")":blush:data;     echo($response); ?\> Es wäre fantastisch wenn Ihr mir dabei helfen würdet den Fehler zu finden. Besten Dank im Voraus. Grüße