Ankündigung

Einklappen
Keine Ankündigung bisher.

DropDown Menü in Abhängigkeit vom RadioButton ändern

Einklappen

Neue Werbung 2019

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

  • DropDown Menü in Abhängigkeit vom RadioButton ändern

    Gibt es eine eifache Möglichkeit ein DropDownMenü von der Wahl des RadioButtons abhänigi zu machen - also je nachdem welcher RadioButton gedrückt ist, ein anderes Dop Down Menü erscheint?!?

    Ist das ganze "Problem" nur mit PHP zu lösen oder gibt es einen "einfachen" Weg?!?

    Danke für eure Hilfe!!


  • #2
    Du kannst mit einer JavaScript-CSS-Kombi Elemente verstecken oder anzeigen.

    Code:
    // css
    .hideElement {
      display: none;
    }
    .showElement {
      display: block;
    }
    
    // javascript
    document.getElementById('selectName').className = 'hideElement';
    Jetzt musst du dir halt noch eine JavaScript-Programmlogik basteln, die eben das richtige Select-Feld anzeigt wenn ein bestimmter Radio-Button gedrückt wurde und die restlichen versteckt. Ist aber hauptsächlich nur ein if-else-Code.

    Kommentar


    • #3
      Ahhh JavaScript ...

      Naja, das werde ich schon hinbekommen.
      Gibt es irgendwie eine Seite oder eine Doku, wo ich solche Sachen über JS nachlesen kann?!?

      Kommentar


      • #4
        Ok, nach langem Suchen habe ich ein Script gefunden:

        Code:
        <html>
        
        <head>
        <title>
        JavaScript - Beispiel
        </title>
        
        <script type="text/javascript">
        
        
        function auswahl()
        {
          var i,Text="keine Auswahl";
        
           /* jeden Radiobutton abchecken : */
          for (i=0;i<4;i++)
            if (document.demo.elements[i].checked)
              Text=document.demo.elements[i].value;
        
           /* Text im Ausgabefeld setzen : */
          document.demo.anzeige.value=Text;
        }
        
        
        </script>                  
        
        </head>
        <body onLoad="auswahl();">
        
        Erkl&auml;rung
         
        
        
        
        
        
        
        
        <form name="demo">  
        
        <input type=radio name="punkte" value="erstens" onClick="auswahl()">
        
        erstens
        
        
        <input type=radio name="punkte" value="zweitens" onClick="auswahl()">
        
        zweitens
        
        
        <input type=radio name="punkte" value="drittens" onClick="auswahl()">
         
        drittens
        
        
        <input type=radio name="punkte" value="viertens" onClick="auswahl()">
        viertens
        
        
        <input type=text name="anzeige" value="" size="15" readonly>
        
        </form> 
        </body>
        </html>
        Aber das Problem für mich ist jetzt noch: Wie setzte ich das noch in ein Drop Down Menü um? Muss das mit in den JS Teil rein?

        Daaanke schonmal für eure Antwort.
        (und bitte Idiotensicher antworten - bin noch blutiger Anfänger)

        Kommentar


        • #5
          Spontan würde ich es so machen
          Code:
          <form>
          <input type=radio name="punkte" value="1" onClick="auswahl(this.form.punktauswahl,this.value)">erstens
          
          <input type=radio name="punkte" value="2" onClick="auswahl(this.form.punktauswahl,this.value)">zweitens
          
          <input type=radio name="punkte" value="3" onClick="auswahl(this.form.punktauswahl,this.value)">drittens
          
          <input type=radio name="punkte" value="4" onClick="auswahl(this.form.punktauswahl,this.value)">viertens
          
          <select name="punktauswahl" onchange="if(this.selectedIndex)location.href=this.options[this.selectedIndex].value;">
          <option value="">-- Bitte wählen --</option>
          </select>
          </form>
          <script type="text/javascript">
          function auswahl(selectFeld, punkteWahl) {
            var menue = [
              [
                ['Google','http://google.de'],
                ['Yahoo','http://yahoo.de'],
                ['Sonstwas','http://sonstwas.de']
              ],
              [
                ['PHP DE','http://phpfriend.de'],
                ['PHP NET','http://php.net']
              ],
              [
                ['Mysql','http://mysql.net']
              ],
              [
                ['Selfhtml','http://de.selfhtml.org'],
                ['CSS','http://css4you.de']
              ]
            ];
            var wahl = parseInt(punkteWahl)-1;
            if (wahl<0 || wahl>menue.length) wahl = 0;
            selectFeld.options.length = 1;
            for (var i=0; i<menue[wahl].length; i++) {
              selectFeld.options[i+1] = new Option(menue[wahl][i][0], menue[wahl][i][0]);
            }
          }
          </script>

          Kommentar


          • #6
            Die Referenz für JavaScript: http://de.selfhtml.org/

            Kommentar


            • #7
              DiBo, das geeeht!! *freu*

              Mh .. noch ne Frage. Die Optionen, die bei Select angezeigt werden sollen, sollen aus einer Datenbank ausgelesen werden. Kann man das auch noch in JS irgendwie einbasteln?!
              Kurz gesagt: Kann man mH von JS auf eine DB zugreifen?!?

              Kommentar


              • #8
                Allgemein, nein mit JS kannst du nicht auf eine Datenbank zugreifen (Ausnahmen ausgeschlossen).

                Datenbank => serverseitig
                JS => clientseitig

                Du musst also das JS-Array mittels einer serverseitigen Scriptsprache deiner Wahl zusammensetzen.

                Entweder mittels AJAX, was ich dir aber bei deinem Kenntnisstand nicht empfehle, oder am Anfang, das komplette Array erstellen.

                Kommentar


                • #9
                  Daanke. Ich habe mir selber schon gedacht, dass es ne doofe Frage war.

                  Also ich könnte zB mit PHP am Anfang meine DB befragen und dann das Ergebnis als array JS übergeben, richtig?!

                  Kommentar


                  • #10
                    Richtig.

                    Kommentar


                    • #11
                      Hui, ich hab schon ein bissl was von dir gelernt

                      Daanke!

                      Kommentar


                      • #12
                        kann mir nicht vorstellen wofür das gut sein kann, hat jemand ein Anwendungsbeispiel?
                        Wie man Fragen richtig stellt

                        Kommentar


                        • #13
                          Naja, ich kann dir zu mindest sagen, wofür ich das benötige.

                          Es geht um eine Datenbank und da gibt es bereits vordefinierte Felder. Also zB Epochen, die ja eh immer gleich bleiben und nicht geändert werden. Der Anwender wünscht aber, dass er solchen Feldern eventuell später noch Daten hinzufügen / ändern kann. Deswegen soll er per Radiobutton ein Feld aussuchen, was er verändern möchte. Dann sucht er sich im DropDown Menü aus, was er verändern möchte und schreibt in ein Textfeld den neuen Wert ein.

                          Kommentar


                          • #14
                            So mal wieder eine Frage.

                            Wie genau kann ich die Breite des DropDown Menüs festlegen?
                            Zur Zeit macht das der Brwoser wie er es haben will und mit "width" wird auch nichts.

                            Kommentar


                            • #15
                              Einfach mit CSS, width

                              Kommentar

                              Lädt...
                              X