Frage jQuery Abrufen ausgewählter Option aus Dropdown


Normalerweise benutze ich $("#id").val() um den Wert der ausgewählten Option zurückzugeben, aber dieses Mal funktioniert es nicht. Das ausgewählte Tag hat die ID aioConceptName

HTML Quelltext

<label>Name</label>
<input type="text" name="name" />
<select id="aioConceptName">
    <option>choose io</option>
    <option>roma</option>
    <option>totti</option>
</select>

878
2018-05-18 20:11


Ursprung


Antworten:


Für Dropdown-Optionen möchten Sie wahrscheinlich Folgendes:

var conceptName = $('#aioConceptName').find(":selected").text();

Der Grund val() Der Trick ist nicht, weil das Klicken auf eine Option den Wert des Dropdown-Menüs nicht ändert - es fügt einfach das hinzu :selected Eigenschaft zu der ausgewählten Option, die a ist Kind des Dropdowns.


1497
2018-05-18 20:14



Legen Sie die Werte für jede der Optionen fest

<select id="aioConceptName">
    <option value="0">choose io</option>
    <option value="1">roma</option>
    <option value="2">totti</option>
</select>

$('#aioConceptName').val() hat nicht funktioniert, weil .val() gibt das zurück value Attribut. Damit es richtig funktioniert, hat der value Attribute müssen auf jedem festgelegt werden <option>.

Jetzt können Sie anrufen $('#aioConceptName').val() anstatt all dies :selected Voodoo wird von anderen vorgeschlagen.


268
2017-10-26 16:50



Ich bin über diese Frage gestolpert und habe eine kompaktere Version von Elliot BOnnevilles Antwort entwickelt:

var conceptName = $('#aioConceptName :selected').text();

oder allgemein:

$('#id :pseudoclass')

Das erspart dir einen zusätzlichen jQuery-Aufruf, wählt alles auf einen Schlag aus und ist klarer (meiner Meinung nach).


138
2017-11-01 17:16



Versuchen Sie dies für den Wert ...

$("select#id_of_select_element option").filter(":selected").val();

oder das für den Text ...

$("select#id_of_select_element option").filter(":selected").text();

42
2018-02-27 08:54



Wenn Sie sich im Ereigniskontext befinden, können Sie in jQuery das ausgewählte Optionselement mithilfe folgender Elemente abrufen:
$(this).find('option:selected') so was :

$('dropdown_selector').change(function() {
    //Use $option (with the "$") to see that the variable is a jQuery object
    var $option = $(this).find('option:selected');
    //Added with the EDIT
    var value = $option.val();//to get content of "value" attrib
    var text = $option.text();//to get <option>Text</option> content
});

Bearbeiten

Wie erwähnt von BesitzenWithin, Meine Antwort beantworte einfach die Frage: Wie wähle ich die "Option" aus.

Als nächstes verwenden Sie, um den Optionswert zu erhalten option.val().


38
2017-07-09 15:30



Haben Sie überlegt, altes JavaScript zu verwenden?

var box = document.getElementById('aioConceptName');

conceptName = box.options[box.selectedIndex].text;

Siehe auch Eine Option Text / Wert mit JavaScript erhalten


28
2018-05-08 18:18



$('#aioConceptName option:selected').val();

17
2017-11-26 23:25