Christian Tank: Per JS die <option> eines select-Feldes ändern

Hallo, ich habe per php ein simples select-Feld erzeugt, z.B.:

<select id="xyz">
<option value="katze">Amanda</option>
<option value="hund">Bello</option>
<option value="maus">Birgit</option>
</select>

Nun möchte ich per Javacript die markierte (Vor)Auswahl ändern, z.B. so:

document.getElementById('xyz').selectedIndex = 2;

Was mache ich, wenn ich den Index nicht kenne und das die Auswahl z.B. anhand des value-Wertes treffen möchte, z,B.

document.getElementById('xyz').selectedIndex = 'maus';

Leider funktioniert das nicht. Hat jemand eine Lösung??

  1. Hallo Christian,

    Was mache ich, wenn ich den Index nicht kenne und das die Auswahl z.B. anhand des value-Wertes treffen möchte, z,B.

    document.getElementById('xyz').selectedIndex = 'maus';
    

    Leider funktioniert das nicht. Hat jemand eine Lösung??

    Du durchläufst alle <option> des Selects und stopst bei dem gesuchten Index. Auf diesen Index setzt du dann den selectedIndex:

    var i, select = document.getElementById('xyz');
    
    for(i = 0; i < select.options.length; ++i) {
      if(select.options[i].value == "gesuchter Wert") {
        select.selectedIndex = i;
        break;
      }
    }
    

    LG,
    CK

  2. Lieber Christian,

    document.getElementById('xyz').selectedIndex = 'maus';
    

    nicht "index", sondern "value"!

    Liebe Grüße,

    Felix Riesterer.

  3. Hi,

    <select id="xyz">
    <option value="katze">Amanda</option>
    <option value="hund">Bello</option>
    <option value="maus">Birgit</option>
    </select>
    
    document.getElementById('xyz').selectedIndex = 'maus';
    

    Leider funktioniert das nicht. Hat jemand eine Lösung??

    JS ist immer so viel Text. Ich bevorzuge JQuery ;-)

    $('#xyz').val('2');  
    $('#xyz').val('maus');   // das gleiche
    
    --
    Viele Grüße aus LA ralphi
    1. Moin,

      document.getElementById('xyz').selectedIndex = 'maus';
      

      Leider funktioniert das nicht. Hat jemand eine Lösung??

      JS ist immer so viel Text. Ich bevorzuge JQuery ;-)

      wie groß ist denn jQuery im Vergleich zu obigen Bytes Codebeispiel ;-) scnr

      Viele Grüße Robert

      1. Lieber Robert,

        wie groß ist denn jQuery im Vergleich zu obigen Bytes Codebeispiel ;-) scnr

        Zitat 2174

        Liebe Grüße,

        Felix Riesterer.

        1. Hallo Felix Riesterer,

          Zitat 2174

          Die Zitatesammlung hat es auch in dieses Forumsumfeld geschafft: http://forum.selfhtml.org/cites

          In der Suche (http://forum.selfhtml.org/search) kann man auch nach Zitaten suchen. (@Christian Kruse Vielleicht sollte man bei der Suche nach Zitaten das Datum ignorieren. - Soll ich eine issue schreiben?)

          Bis demnächst
          Matthias

          --
          Signaturen sind bloed (Steel) und Markdown ist mächtig.
          1. Hallo Matthias,

            (@Christian Kruse Vielleicht sollte man bei der Suche nach Zitaten das Datum ignorieren. - Soll ich eine issue schreiben?)

            Ich denke nicht, dass die Suche das eingestellte Datum ignorieren sollte. Mal abgesehen von der schlechten User-Experience (in den Suchergebnissen tauchen dann auf einmal Ergebnisse auf, die gar nicht in die Datumsrange passen) wäre es auch technisch nur unschön umzusetzen.

            LG,
            CK

            1. Hallo Christian Kruse,

              Ich denke nicht, dass die Suche das eingestellte Datum ignorieren sollte. Mal abgesehen von der schlechten User-Experience (in den Suchergebnissen tauchen dann auf einmal Ergebnisse auf, die gar nicht in die Datumsrange passen) wäre es auch technisch nur unschön umzusetzen.

              Vielleicht sollten wir den Zitaten das Datum nehmen, zumal danach geschaut wird, wann das Zitat erstellt wurde, nicht der zugrunde liegende Beitrag.

              Bis demnächst
              Matthias

              --
              Signaturen sind bloed (Steel) und Markdown ist mächtig.
        2. Moin Felix,

          wie groß ist denn jQuery im Vergleich zu obigen Bytes Codebeispiel ;-) scnr

          Zitat 2174

          Sehr schön!

          Viele Grüße Robert

        3. Zitat 2174

          Nicht alles, was hinkt, ist ein Vergleich.

      2. Hi,

        wie groß ist denn jQuery im Vergleich zu obigen Bytes Codebeispiel ;-) scnr

        Hehe – schon weniger Tastaturabnutzung :-) Aber vor allem übersichtlicher - ein Schelm der was anderes behauptet.

        --
        Viele Grüße aus LA ralphi
  4. Hallo

    […] Was mache ich, wenn ich den Index nicht kenne und das die Auswahl z.B. anhand des value-Wertes treffen möchte, z,B.

    document.getElementById('xyz').selectedIndex = 'maus';
    

    Leider funktioniert das nicht. Hat jemand eine Lösung??

    Die ist ziemlich einfach, denn bei Select-Auswahllisten ist die ausgewählte Option im value-Attribut hinterlegt und kann darüber nicht nur gelesen sondern auch gesetzt werden:

    select.value = 'maus';
    

    Hier ein Beispiel.

    Gruß,

    Orlok