Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zwei abhängige dropdowns

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Zwei abhängige dropdowns

    Hallo Forum,

    ich habe ein kleines Problem mit meinen 2 abhängigen dropdowns.

    Es geht um Fahrzeuge:

    Das eine Dropdown enthält die Fahrzeugart: PKW, LKW, Bus, Motorrad etc.
    Das andere Dropdown enthält den Aufbau: Limousine, LKW 3.5-5 Tonnen, Kleinbus bis 6 Personen etc. .....

    Problem:
    Wenn ich die IDs der beiden dropdowns in die Datenbank speichere und die Maske schließe und wieder öffne, dann funktioniert die Selektion des ersten Dropdowns zwar, jedoch bleibt das zweite Dropdown leer.

    Erst nachdem ich die Maske aktualisiert oder geschlossen und wieder geöffnet habe, zeigt sich der Text in dem zweiten Dropdown.

    Woran kann das liegen?

  • #2
    Hallöchen,

    sorry, aber wenn ich mir deinen Beitrag, speziell den Quellcode, ansehe, wird mir schlecht. Kannst du den Salat nicht auf einen simplen nachvollziehbaren Testcase herunterbrechen und verständlich schildern, woran du scheiterst?

    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
      Ich dachte das Du Programmierer bist?! Daher solltest Du den Code doch schnell lesen können, oder?

      Kommentar


      • #4
        Ich glaube auch das da niemand lust dazu hat dies alles durchzulesen. Minmiere doch den Code auf ein Minimum. Vielleicht findest Du ja die Lösung oder Fehler dann auch selber.

        Kommentar


        • #5
          centauro, wow, wow! Es hilft dir nicht weiter auf provozierende Beiträge mit provozierenden Antworten zu reagieren. Das erhöht nicht die Hilfsbereitschaft anderer.

          Für HTML gibt es das Tag [HTML][/HTML]:
          HTML-Code:
          <span>Example</span>
          
          <script type="text/javascript">
              function example() 
              {
                  alert('Leider kein JS Support');
              }
          </script>
          Benutze es bitte für mehr Übersichtlichkeit.

          Kommentar


          • #6
            Erst nachdem ich die Maske aktualisiert oder geschlossen und wieder geöffnet habe, zeigt sich der Text.

            Woran kann das liegen?
            ...das Du kein AJAX verwendest, wenn Du ohne Aktualisierung was z.B. in der Datenbank gespeichertes, anzeigen möchtest!

            - Code bitte ordentlich hier posten (wurde bereits gesagt)
            - mysql_* ist veraltet. Bitte PDO oder mysqli nutzen
            - Bitte korrekte Codierung nutzen/einstellen. Du scheinst ein Problem damit zu haben
            - warum gibst du das separat an "size="30" maxlength="25""? Verwendest du kein CSS?! Sieht nach Mischmasch aus

            $select = "";
            echo $selekt.'>';
            - korrekte Schreibweise prüfen und viel zu umständlich!

            Ich dachte das Du Programmierer bist?! Daher solltest Du den Code doch schnell lesen können, oder?
            mit sowas schießt Du Dich hier schnell ins aus...
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Danke Leute....Ihr habt ja alle Recht.
              Bin nur gerade ein wenig genervt.

              Es ist richtig das ich meine Anwendung mit veraltetem Code entwickelt habe.
              Die ist ja auch schon älter und ich hatte bislang keine Zeit auf neue Technologien umzusteigen.

              Das kommt, wenn ich dann die Zeit gefunden habe. Teile der Anwendung sind scho auf JQuery umgestellt. Rest kommt, wenn Zeit da ist.

              Sorry für mein Verhalten.

              Kommentar


              • #8
                Hinweis am Rande: Auch Javascript kennt Arrays und Objekte (und ein Code-Tag fürs Forum)
                Code:
                function getAufbauBez(val) {
                  var AufbauBez = {
                     20:"Gelaendewagen",
                     21:"Limousine",
                  };
                  return AufbauBez[val]? AufbauBez[val] : '?';
                }

                Kommentar


                • #9
                  Danke jspit.....war mir bekannt.

                  Kommentar


                  • #10
                    PHP-Code:
                    21:"Limousine"// Fehler in einigen Browsern
                      
                    }; 
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #11
                      Danke für den Hinweis. Ich schreibe ein Komma nach dem letzten Eintrag sonst nur in PHP-Arrays und bin etwas überrascht, daß die Notation jetzt auch von vielen Browsern für Javascripte akzeptiert wird. Mit dem ECMAScript 5 ist es jetzt auch dokumentiert.
                      Kennst jemand einen gängigen Browser der da noch einen Fehler bringt?
                      Hier wird auf den IE verwiesen. Der IE6 und IE7 dürften dafür Kanidaten sein. Ich hab noch einen IE8, der bringt den Fehler auch nicht.

                      LG jspit

                      Kommentar


                      • #12
                        Da bin ich wieder. Es geht nun weiter.

                        Ich habe nun folgenden Code:

                        PHP-Code:
                        $sql "SELECT * FROM fahrzeugdaten";
                        $result mysql_query($sql) or die ("Fehler: (55a)<br>Systemausgabe: <br>".mysql_error());
                        $row mysql_fetch_object($result);

                        $art $row->art;
                        $aufbau $row->aufbau
                        Code:
                        <script type="text/javascript">
                          $(document).ready(function() {
                              $("#selectbox_1").change(function(){
                                var id_hauptkategorie=$(this).children('option:selected').val();
                                $("#selectbox_2").load("selectboxen.php",{value: id_hauptkategorie});
                              });
                              
                          });  
                        </script>
                        wie bekomme ich die PHP-Variablen $art und $aufbau an die Javascript-Funktion übergeben, wenn die "#selectbox_1" die "Art" und die "#selectbox_2" der "Aufbau" sind?

                        Kommentar


                        • #13
                          Zitat von jspit Beitrag anzeigen
                          Danke für den Hinweis. Ich schreibe ein Komma nach dem letzten Eintrag sonst nur in PHP-Arrays und bin etwas überrascht, daß die Notation jetzt auch von vielen Browsern für Javascripte akzeptiert wird. Mit dem ECMAScript 5 ist es jetzt auch dokumentiert.
                          Kennst jemand einen gängigen Browser der da noch einen Fehler bringt?
                          Hier wird auf den IE verwiesen. Der IE6 und IE7 dürften dafür Kanidaten sein. Ich hab noch einen IE8, der bringt den Fehler auch nicht.

                          LG jspit
                          Naja, was heißt gängig. Ich halte mich an die Spezifikation.

                          http://stackoverflow.com/questions/2...-a-json-object


                          Ich benutze sowieso meist die Variante:

                          PHP-Code:
                            var AufbauBez = {
                                
                          20 "Gelaendewagen"
                              
                          21 "Limousine"
                              
                          23 "Bla Foo"
                            
                          }; 
                          die ist auch optisch hübsch.
                          [COLOR="#F5F5FF"]--[/COLOR]
                          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                          [COLOR="#F5F5FF"]
                          --[/COLOR]

                          Kommentar


                          • #14
                            Aber wenn ich die bereits dazu in der DB gespeicherten IDs beim Öffnen der Seite vorselektiert haben möchte, muss ich die Variablen doch zuordnen können. Aber wie?

                            Also:

                            Immer dann, wenn nichts in der Datenbank vorab gespeichert ist, dann soll die Liste zu "Art" vollständig sein und auf "Bitte wählen" stehen.
                            Immer dann, wenn etwas in der Datenbank steht, dann sollen beide Listen vollständig und die Values, dessen IDs zuvor in der Datenbank gespeichert wurden, vorselektiert sein.

                            Kommentar


                            • #15
                              Hier noch ein Auszug aus dem Script, wo der "Fahrzeugaufbau" zu finden ist.

                              PHP-Code:
                              <?php
                              $value 
                              $_POST['value'];
                              echo 
                              "Wert: ".$value;
                              echo 
                              var_dump($value);
                                if(
                              $_POST["value"]==1){
                              ?>
                                  <option value="0">Bitte w&auml;hlen...</option>
                                  <option value="1">Gel&auml;ndewagen</option>
                                  <option value="2">Limousine</option>
                                  <option value="3">Cabrio</option>
                                  <option value="4">Coupe</option>
                                  <option value="5">Kombi</option>
                                  <option value="6">Sportwagen</option>
                                  <option value="7">Kastenwagen</option>
                                  <option value="8">Kleinwagen</option>
                                  <option value="9">Sportcoupe</option>
                                  <option value="10">Roadster</option>
                                  <option value="11">SUV</option>
                              <?  }
                              elseif($_POST["value"]==2){
                              ?>
                                  <option value="20">Bitte w&auml;hlen...</option>
                                  <option value="21">Sattelzugmaschine</option>
                                  <option value="22">LKW 2-3.5 Tonnen</option>
                                  <option value="23">LKW 4-7.5 Tonnen</option>
                                  <option value="24">LKW>7.5 Tonnen</option>
                                  <option value="25">Kleintransporter</option>
                              <?
                                  } 
                              ?>

                              Kommentar

                              Lädt...
                              X