Я хотел бы, чтобы jQuery обнаружил когда опция с идентификатором trade_buy_max
выбран.
$(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>
Я попробовал следующее, но это, кажется, не работает.
Какие-либо идеи?
Это работает ... Прослушайте событие изменения в поле выбора, чтобы сработать, и как только оно произойдет, просто извлеките атрибут id выбранной опции.
$("#type").change(function(){
var id = $(this).find("option:selected").attr("id");
switch (id){
case "trade_buy_max":
// do something here
break;
}
});
Что вам нужно сделать, это добавьте обработчик onchange
в select
:
$('#type').change(function(){
if($(this).val() == 2){
/* Do Something */
}
});
вы можете вместо этого привязать событие change
к его выбору, а затем проверить, выбрана ли опция
$("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
}
});
Непроверенный, но это должно работать.
Используйте событие change
и получите атрибут id
выбранной опции:
$('#type').change(function () {
var selectedId = $('option:selected', this).attr('id');
if (selectedId == "trade_buy_max") {
// do something
}
});
Измените .select на .change и поставьте пробел перед #