Per JS die <option> eines select-Feldes ändern
Christian Tank
- formulare
- javascript
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??
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
Lieber Christian,
document.getElementById('xyz').selectedIndex = 'maus';
nicht "index", sondern "value"!
Liebe Grüße,
Felix Riesterer.
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
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
Lieber Robert,
wie groß ist denn jQuery im Vergleich zu obigen Bytes Codebeispiel ;-) scnr
Liebe Grüße,
Felix Riesterer.
Hallo Felix Riesterer,
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
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
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
Moin Felix,
wie groß ist denn jQuery im Vergleich zu obigen Bytes Codebeispiel ;-) scnr
Sehr schön!
Viele Grüße Robert
Nicht alles, was hinkt, ist ein Vergleich.
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.
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