我希望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>
我已尝试过以下内容,但似乎无效。
有什么想法吗?
答案 0 :(得分:46)
这有效...... 在选择框中侦听更改事件以触发它,然后只需拉出所选选项的id属性。
$("#type").change(function(){
var id = $(this).find("option:selected").attr("id");
switch (id){
case "trade_buy_max":
// do something here
break;
}
});
答案 1 :(得分:9)
您需要做的是向onchange
添加select
处理程序:
$('#type').change(function(){
if($(this).val() == 2){
/* Do Something */
}
});
答案 2 :(得分:4)
您可以在其选择中绑定change
事件,然后检查是否选择了选项
$("select#type").change(function () {
if( $("option#trade_buy_max:selected").length )
{
// do something here
}
});
答案 3 :(得分:1)
$("option#trade_buy_max").change(function () {
opt = $(this).children("option:selected").attr('id');
if(opt == '#trade_sell_max'){
// do stuff
}
});
未经测试,但这应该有用。
答案 4 :(得分:1)
使用change
事件并获取所选选项的id
属性:
$('#type').change(function () {
var selectedId = $('option:selected', this).attr('id');
if (selectedId == "trade_buy_max") {
// do something
}
});
答案 5 :(得分:0)
将.select更改为.change并在#
之前添加空格