javascript - 从jquery中选定的选项计算价格

标签 javascript jquery html

我的html代码:

<select class="form-control B3 pricing" name="B3">
  <option data-price="0" data-cheap="0">0</option>
  <option data-price="20" data-cheap="30">1</option>
  <option data-price="40" data-cheap="60">2</option>        
  <option data-price="60" data-cheap="90">3</option>
  <option data-price="80" data-cheap="120">4</option>
  <option data-price="100" data-cheap="150">5</option>
</select>

我的 jquery 代码:

$(document).ready(function () {
            var cheap=false;
        $('.day1').on('change', function (e) {
            var optionSelected = $("option:selected", this);
            var valueSelected = optionSelected.val();
            if(valueSelected=="Saturday")
            {
                cheap=true;
                alert(cheap);                   
            }else{
                cheap=false;
                alert(cheap);
            }
        });
    $('.pricing').change(function(){
        var price = parseFloat($('.total').data('base-price'));
        $('.pricing').each(function(i, el) {
                if(cheap==false){
                    price += parseFloat($('option:selected', el).data('price'));
                }else{
                    price+= parseFloat($('option:selected').data('cheap'));
                }
        });            
        $('.total').val('$'+price.toFixed(2));
    }); 
});

我希望当选择这一天为星期六时,必须采用廉价数据,而当选择其他日期时,应计算数据价格。有什么帮助吗?

最佳答案

我看到的唯一问题是您没有将上下文传递给廉价查询

$(document).ready(function () {
    var cheap = false;
    $('.day1').on('change', function (e) {
        cheap = $(this).val() == "Saturday";
    });
    $('.pricing').change(function () {
        var price = parseFloat($('.total').data('base-price')) || 0;
        $('.pricing').each(function (i, el) {
            price += parseFloat($('option:selected', el).data(cheap ? 'cheap' : 'price'));
            console.log('x', price)
            $('.total').val('$' + price.toFixed(2));
        });
    });
});

演示:Fiddle

关于javascript - 从jquery中选定的选项计算价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814138/

相关文章:

javascript - 消除换行符 - javascript

javascript - JQuery Post Callback 过滤器选择数据

HTML 文本框输入工具提示?

javascript - 颜色选择器插件脚本导入导致意外标记

javascript - 在 React Native 中从 componentDidMount 获取状态失败

javascript - JQuery:找到一种方法来命名克隆的输入字段

javascript - 替换屏幕尺寸上的 div id 或 class

javascript - 滚动到顶部 jQuery

javascript - 使用 jQuery 从 HTML 解析时间数据

jquery - 使用带有 HTML5 和 jquery 的 phonegap 1.3.0 创建 android 应用程序时无限弹出错误?