Yael: Feld ein bzw. ausbelenden.

Hallo,

kleines Problem, in meinem Dropdown Menü gibt es ein Feld „Firma“ wenn ein User dieses auswählt, sollte darunter ein „Textfeld“ erscheinen. Wählt er anschließend doch wieder „männlich“ oder „weiblich“ sollte dieses wieder verschwinden.

Gibt es eine einfache Möglichkeit dieses einzubauen ohne dass die Seite neu geladen werden muss? Hab kaum Erfahrung mit jQuery oder Javascript.

  1. Om nah hoo pez nyeetz, Yael!

    kleines Problem, in meinem Dropdown Menü gibt es ein Feld „Firma“ wenn ein User dieses auswählt, sollte darunter ein „Textfeld“ erscheinen. Wählt er anschließend doch wieder „männlich“ oder „weiblich“ sollte dieses wieder verschwinden.

    Gibt es eine einfache Möglichkeit dieses einzubauen ohne dass die Seite neu geladen werden muss? Hab kaum Erfahrung mit jQuery oder Javascript.

    Ja. Ggf. sogar nur unter Verwendung von CSS.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen KA und Kadaver.

    1. Hallo Matthias,

      Gibt es eine einfache Möglichkeit dieses einzubauen ohne dass die Seite neu geladen werden muss? Hab kaum Erfahrung mit jQuery oder Javascript.

      wie würde dieses denn ohne Javascript gehen? Hast du für mich ein kleines Beispiel?

  2. Moin,

    Gibt es eine einfache Möglichkeit dieses einzubauen ohne dass die Seite neu geladen werden muss? Hab kaum Erfahrung mit jQuery oder Javascript.

    Du kannst auf das onchange-Event lauern und deine Logik in eine Funktion packen:

    // Wenn etwas anderes ausgewählt wird, dann starte die Funktion evAnredeAusgewaehlt  
    $("#auswahl").on("change", evAnredeAusgewaehlt);  
      
    function evAnredeAusgewaehlt(e) {  
       // wird Firma ausgewählt, dann entferne das Textfeld  
       if(e.target.value == 'Firma') {  
          $('#deinTextfeld').remove();  
       }  
       // ansonsten setze es ...  
       else {  
          // ... sofern es nicht existiert  
          if($('#deinTextFeld').length == 0)  
             $('#auswahl').after('<input type="text" id="deinTextfeld" />');  
       }  
    }
    

    (ungetestet)

    Grüße Marco

    --
    Ich spreche Spaghetticode - fließend.
    1. Moin,

      getestet.

      Grüße Marco

      --
      Ich spreche Spaghetticode - fließend.
      1. Hallo Marco,

        getestet.

        vielen vielen Dank für deine Hilfe. Genau das habe ich gesucht, muss nur schauen, wie ich dein Beispiel umdrehe. Wenn man den Punkt Firma wählt, dann sollte erst das Feld kommen. Bei dir ist es so, wenn man auf Her oder Frau klickt wird ein Feld eingeblendet.

        1. Moin,

          vielen vielen Dank für deine Hilfe. Genau das habe ich gesucht, muss nur schauen, wie ich dein Beispiel umdrehe. Wenn man den Punkt Firma wählt, dann sollte erst das Feld kommen. Bei dir ist es so, wenn man auf Her oder Frau klickt wird ein Feld eingeblendet.

          Das ist recht einfach. Dazu musst du in der Javascript-Funktion die Prüfung ändern. Das geht hier einfach, weil du nur aus dem == ein != machen musst:

          if(e.target.value != 'Firma') {  
          
          

          Ich habe das Beispiel mal dahingehend abgeändert. Wenn du willst, dass das Feld schon da ist, wenn die Seite aufgerufen wird, dann kannst du es einfach schon ins HTML schreiben:

             </select>  
             <input type="text" id="textfeld">  
          </form>
          

          Grüße Marco

          --
          Ich spreche Spaghetticode - fließend.