Erkennen Sie, wenn eine bestimmte wird mit jQuery ausgewählt

Lesezeit: 2 Minuten

Benutzer-Avatar
Philipp Morton

Ich möchte, dass jQuery erkennt, wann die Option mit der ID trade_buy_max ist ausgewählt.

$(document).ready(function() {
    $("option#trade_buy_max").select(function () {
        //do something
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<select name="type" id='type'>
    <option id='trade_buy' value="1" selected='selected'>Buy</option>
    <option id='trade_buy_max' value="1">Buy max</option>
    <option id='trade_sell' value="2">Sell</option>
    <option id='trade_sell_max' value="2">Sell max</option>
</select>

Ich habe folgendes versucht, aber es scheint nicht zu funktionieren.

Irgendwelche Ideen?

Das funktioniert … Warten Sie, bis das Änderungsereignis im Auswahlfeld ausgelöst wird, und ziehen Sie dann einfach das ID-Attribut der ausgewählten Option.

$("#type").change(function(){
  var id = $(this).find("option:selected").attr("id");

  switch (id){
    case "trade_buy_max":
      // do something here
      break;
  }
});

  • Da meine Optionswerte eindeutig waren, konnte ich dies verwenden: var val = $(‘#select_xyz’).val(); Und den Fehler, den ich gemacht habe, bevor ich diesen Beitrag gesehen habe – ich habe click(..) verwendet, wenn ich .change(..) hätte verwenden sollen. Vielen Dank!

    – Gen Bo

    23. Juli 2014 um 21:53 Uhr

Was Sie tun müssen, ist ein hinzuzufügen onchange Handler zum select:

$('#type').change(function(){ 
  if($(this).val() == 2){
     /* Do Something */
  }
});

du kannst binden change Ereignis stattdessen bei seiner Auswahl, dann prüfen Sie, ob die Option ausgewählt ist

$("select#type").change(function () {
   if( $("option#trade_buy_max:selected").length )
   {
     // do something here
   }
});

$("option#trade_buy_max").change(function () {
    opt = $(this).children("option:selected").attr('id');
    if(opt == '#trade_sell_max'){
        // do stuff
    } 
});

Ungetestet, aber das sollte funktionieren.

Verwenden Sie die change Veranstaltung und erhalten Sie die id Attribut der ausgewählten Option:

$('#type').change(function () {
  var selectedId = $('option:selected', this).attr('id');

  if (selectedId == "trade_buy_max") {
    // do something
  }
});

Benutzer-Avatar
Amr Elgarhy

Ändern Sie .select in .change und setzen Sie ein Leerzeichen vor #

1176070cookie-checkErkennen Sie, wenn eine bestimmte wird mit jQuery ausgewählt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy