Stefan Welscher: <option> aus <select>-Block entfernen

Hallo,

ich habe eine kurze Frage zu JS.
Und zwar möchte ich je nach Auswahl in einem Select-Block verschiedene Optionen in einem anderen (2.) Select-Block auswählen lassen.

Da es aber unterschiedlich viele Optionen im 2. Block geben wird suche ich nach einer Möglichkeit, wie man eine <option> aus dem Select-Block entfernen kann, da style.display=none in options-tags offensichtlich nicht funktioniert. Hinzufügen geht wohl mit document.createElement() aber den gegenpart habe ich bisher noch nicht gefunden.
Btw: Evtl. doof, aber es müsste mit möglichst viel Browsern laufen :/

Vielen Dank schonmal,
Stefan

  1. Hej,

    Da es aber unterschiedlich viele Optionen im 2. Block geben wird suche ich nach einer Möglichkeit, wie man eine <option> aus dem Select-Block entfernen kann, da style.display=none in options-tags offensichtlich nicht funktioniert.

    Warum nicht? Heissts außerdem nicht style.display = "none" ?

    Hinzufügen geht wohl mit document.createElement() aber den gegenpart habe ich bisher noch nicht gefunden.

    removeChild()

    Beste Grüße
    Biesterfeld

    --
    Im Vatikan gibt es zwei Päpste pro Quadratkilometer.
    1. Warum nicht?

      Weil JavaScript doof ist ;)

      »»removeChild()

      Ich hab das gerade mal probiert:

      <select size="1" width="200" name="art">
          <option value="wert1" >Wert1</option>
          <option value="wert2" id="test">Nachname</option>
         </select>

      <script language="javascript">document.getElementById('test').style.display="none";</script>   <-----funzt nicht

      <script language="javascript">document.getElementById('test').removeChild(document.getElementById('test').firstChild);</script> <------funzt halb

      Bei letzterem script verschwinden zwar die Textinhalte, aber das feld ist weiterhin vorhanden (nur eben ohne tex)
      kann natürlich auch sein, dass ich die funktion falsch benutze ;)

      1. Hi,

        <select size="1" width="200" name="art">
            <option value="wert1" >Wert1</option>
            <option value="wert2" id="test">Nachname</option>
           </select>
           <script language="javascript">document.getElementById('test').removeChild(document.getElementById('test').firstChild);</script> <------funzt halb

        Willst Du dem option-Element sein Kind (also den Text) wegnehmen oder dem Select-Element das Kind (also das option-Element)?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Willst Du dem option-Element sein Kind (also den Text) wegnehmen oder dem Select-Element das Kind (also das option-Element)?

          Definitiv letzteres ;)
          Aber irgendwie bekomm ich das nicht hin (sorry aber ich mach das grad zum ersten mal mit diesen childfunktionen)

        2. Willst Du dem option-Element sein Kind (also den Text) wegnehmen oder dem Select-Element das Kind (also das option-Element)?

          Ups... hab`s doch gebacken bekommen:

          <html><body>
          <form action="test.htm" method="get">

          <select size="1" width="200" name="select_test" id="test2">
          <option value="wert1">Vorkasse</option>
          <option value="wert2" id="test">Nachname</option>
          </select>

          <script language="javascript">
          document.getElementById('test2').removeChild(document.getElementById('test'));
          </script>

          </form>
          </body></html>

          Danke! :wave:

      2. Hej,

        Warum nicht?

        Weil JavaScript doof ist ;)

        JavaScript als Prgrammiersprache ist höchstens so doof wie sein Anwender.
        Entweder funktioniert es nicht weil du einen syntatktischen oder semantischen Fehler in deinem Code hast, oder es funktioniert nicht weil das was du Umsetzn möchtest sich nicht umsetzen lässt.

        <select size="1" width="200" name="art">
            <option value="wert1" >Wert1</option>
            <option value="wert2" id="test">Nachname</option>
           </select>

          
        
        > `<script language="javascript">document.getElementById('test').style.display="none";</script>`{:.language-javascript}  
        
        type-Attribut fehlt  
          
        
        > `<script language="javascript">document.getElementById('test').removeChild(document.getElementById('test').firstChild);</script>`{:.language-javascript}  
        
        type-Attribut fehlt  
          
        "Child" ist der \_Kind\_knoten des angesprochenen Elements, in dem Fall eben der Textknoten.  
          
        Beste Grüße  
        Biesterfeld
        
        -- 
        Wie kann man einen extrovertierten Mathematiker von einem introvertierten unterscheiden? Der extrovertierte Mathematiker schaut auf Deine Füße, wenn er mit Dir spricht.