Der folgende Code funktioniert:
$("#select-id").change(function(){
var cur_value = $('#select-id option:selected').text();
. . .
});
So überarbeiten Sie die zweite Zeile an:
var cur_value = $(this).***option-selected***.text();
Wofür benutzt du ***option-selected***
?
javascript
jquery
B Sieben
quelle
quelle
$("option:selected", this)
wie oben erwähnt versucht , aber das war problematisch. Ich habe einen Schaltflächenklick verwendet, um den Text des ausgewählten Optionselements an ein anderes Div anzuhängen, aber als ich auf die Schaltfläche geklickt habe, hat sich das ausgewählte Element tatsächlich geändert ... seltsam. Verwende das hier.Meiner Meinung nach der beste und kürzeste Weg für Onchange-Ereignisse in der Dropdown-Liste, um die ausgewählte Option zu erhalten:
um das Wertattribut zu erhalten:
So erhalten Sie den angezeigten Teil zwischen den Tags:
In Ihrer Stichprobe:
quelle
.context
, es ist veraltet seit jQuery 1.10 - api.jquery.com/category/deprecated/deprecated-1.10quelle
Das sollte funktionieren:
quelle
Sie können
find
nach der ausgewählten Option suchen, die ein Nachkomme der Knoten ist, auf die das aktuelle jQuery-Objekt zeigt:Da dies wahrscheinlich ein unmittelbares Kind ist, würde ich tatsächlich vorschlagen,
.children
stattdessen Folgendes zu verwenden :quelle
Da
option
ist wahrscheinlich unmittelbares Kind vonselect
Ihnen kann auch verwendet werden:http://api.jquery.com/find/
quelle
option-selected
ohne Anführungszeichen ...?find('option:selected')
gibt eine leere Zeichenfolge für mich zurück. Welche Version von jQuery wird benötigt? Ich arbeite in 1.6.1.children('option:selected')
funktioniert.option:selected
ist seit v1.0 da api.jquery.com/selected-selectorBeste Annahme:
In diesem Fall mag ich Kinder besser, weil Sie wissen, dass Sie nur einen Ast im DOM-Baum entlang gehen ...
quelle
Es ist nur
Ich denke, jQuery ist klug genug, um zu wissen, was Sie brauchen
quelle