Rufen Sie die ausgewählte Options-ID mit jQuery ab

80

Ich versuche, mit jQuery eine Ajax-Anfrage basierend auf einer ausgewählten Option zu stellen.

Gibt es eine einfache Möglichkeit, die ausgewählte Options-ID (z. B. "id2") mit jQuery abzurufen?

<select id="my_select">
   <option value="o1" id="id1">Option1</option>
   <option value="o2" id="id2">Option2</option>
</select>


$("#my_select").change(function() {
    //do something with the id of the selected option
});
botmsh
quelle

Antworten:

214

Sie können es mit dem :selectedSelektor wie folgt erhalten:

$("#my_select").change(function() {
  var id = $(this).children(":selected").attr("id");
});
Nick Craver
quelle
Wie gehe ich vor, um Ihre Lösung in reinem Javascript anzuwenden?
Leslie Nyahwa
23

var id = $(this).find('option:selected').attr('id');

dann machst du was du willst mit selectedIndex

Ich habe meine Antwort überarbeitet ... da selectedIndex keine gute Variable ist, um ein Beispiel zu geben ...

Mihai Iorga
quelle
2 Kommentare hier, er hat bereits das DOM-Element mit thisin einem Event-Handler, keine Notwendigkeit, erneut selectedIndex
nachzuschlagen
ja ... sorry ... ich hatte es eilig ... und die Variable selectedIndex war in der Hand ... natürlich muss er nicht noch einmal bestehen ... ich werde wiederholen
Mihai Iorga
Persönlich wähle ich diese Option, da keine .change-Funktion erforderlich war
bsguy
20
$('#my_select option:selected').attr('id');
wild_nothing
quelle
5

Der einfachste Weg dazu ist var id = $ (this) .val (); aus einem Ereignis wie bei Veränderung.

jk121960
quelle