【发布时间】:2016-08-19 09:45:43
【问题描述】:
我有多个选择下拉菜单并且都具有相同的类,我想在更改任何选择下拉菜单时触发一个函数,并在值保持不变时触发另一个函数。
假设我有 3 个下拉菜单,用户更改了任何一个下拉选项,那么我需要调用一个函数,同样,如果用户保持选项不变,那么我需要调用另一个函数。例如,我有 3 个下拉菜单用户来并更改第一个下拉菜单以兑换优惠,然后我将调用一个函数,但如果该用户保持与最初该下拉菜单所说的选择优惠相同的值,那么我需要调用一个函数。
这是我目前尝试过的
JS代码
$(document).ready(function(){
$(".gift-sts").on('change', function() {
if ($('.gift-sts').val() == 'Open'){
stsUnChanged();
} else {
stsChanged();
}
});
function stsChanged(){
$('.save-order-sts').removeClass('btn-primary');
$('.save-order-sts').addClass('btn-success');
$('.save-order-sts').attr('disabled',false);
}
function stsUnChanged(){
$('.save-order-sts').addClass('btn-primary');
$('.save-order-sts').removeClass('btn-success');
$('.save-order-sts').attr('disabled',true);
}
})
这是我的 html 中的内容
<button class="save-order-sts">Save</button>
<select name="" class="gift-sts" id="gift_!">
<option value="Open">Open</option>
<option value="Redeem">Redeem</option>
<option value="Cancel">Cance</option>
</select>
<select name="" class="gift-sts" id="gift_2">
<option value="Open">Open</option>
<option value="Redeem">Redeem</option>
<option value="Cancel">Cance</option>
</select>
<select name="" class="gift-sts" id="gift_3">
<option value="Open">Open</option>
<option value="Redeem">Redeem</option>
<option value="Cancel">Cance</option>
</select>
所以基本上,如果上述任何一个下拉列表值发生变化,那么我将调用 stsChanged 函数,否则如果所有三个下拉列表的值保持不变,那么我将触发 stsUnChanged()。有人可以帮我吗?提前致谢。
小提琴试试Fiddle
【问题讨论】:
-
是默认值总是“打开”?
标签: javascript jquery html drop-down-menu