使用choose和jQuery计算价格无法正常工作

时间:2014-05-08 12:47:07

标签: javascript jquery html shop

我有这个脚本:

$(window).load(function(){

    $('.math1').on('change', function(e) {
        updateSubtotal();
        updateDifferences();
    });

    function updateSubtotal() {
        var subtotal = 0;
        var start = 32;
        $('.math1').each(function(i, el) {
            subtotal += parseFloat($(this).find('option:selected').data('price')*start);
        });
        $('#price').text(subtotal);
    };

    function updateDifferences() {
        $('.math1').each(function(i,sel) {
            var $sel = $(sel);
            $sel.find('option').each(function(j,opt) {
                var $opt = $(opt),
                    optprice = $opt.data('price'),
                    selprice = $sel.find('option:selected').data('price'),
                    diff = optprice * selprice,
                    diffamount = Math.abs(diff) || "";
                $opt.find('.diffaddsubtr').text(diffaddsubtr).end()
            });
        });
    };

});

只要您只使用一个选择框就可以了,但是只要您使用多个选择框,它就会对所有值进行总结,如何更改此值,以便将其乘以值

当你去6人房间时,价格应该是192美元,但是160美元

以下是我的问题:http://development.sakesalverda.nl/Hotel/reserveren/(价格会更新但不正确)

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

            subtotal += parseFloat( $('.math1').val() ) * start;

而不是

 $('.math1').each(function(i, el) {
        subtotal += parseFloat($(this).find('option:selected').data('price')*start);
    });

$(' .math1')。val()==>它将返回选定的值..