计算下拉列表价格

时间:2012-05-16 17:50:23

标签: javascript jquery html drop-down-menu

请原谅我,如果我在正确命名方面不合适的话。

我有一个多个下拉列表,在每个选择被选中后计算价格,在所有列表的末尾,我有一个每次添加的总金额,但我希望最后一个下拉列表按总金额折扣%不添加。

价格来自mysql,折扣也是如此,这是我用来获取价格的代码

$(function(){
    $(".calculate").on("change", function(){
        var total = 0;
        $('.calculate').each(function() {
            if($(this).val() != 0) {
                total += parseFloat($(this).val());
            }
        });
        $('#total').text('£' + total.toFixed(2));
    });

});//]]>

我认为这与total += parseFloat($(this).val());有关。我想用+取代/它会起作用但什么都没有?

由于

2 个答案:

答案 0 :(得分:0)

这样的事情可能是:

$(function(){
   $(".calculate").on("change", function(){
       var total = 0;
       var discount_amount = define_value;
       $('.calculate').each(function() {
           if($(this).val() != 0) {
               discount_amount = $(this).val() * discount_variable;
               line_total = $(this).val() - discount_amount;
               total += parseFloat(line_total);
           }
       });
       $('#total').text('£' + total.toFixed(2));
});

});//]]>

答案 1 :(得分:0)

首先,我要从calculate中删除要进行折扣<select>课程,并为其分配id="discount",此处为<select>的一个例子:

<select id="discount" name="select-3">
    <option value="0">Select Discount Amount</option>
    <option value="10%">10%</option>
    <option value="20%">20%</option>
    <option value="50%">50%</option>
</select>

然后,当更改#discount或任何.calculate元素时,首先循环并添加类calculate的所有元素的总数,然后再应用折扣,例如这样:

$(function(){
    $(".calculate, #discount").on("change", function(){
        var total = 0;
        $('.calculate').each(function() {
            if($(this).val() != 0) {
                total += parseFloat($(this).val());
            }
        });
        if($('#discount').val() != 0) {
          total = total * ((100 - parseFloat($('#discount').val())) / 100);
        }
        $('#total').text('£' + total.toFixed(2));
    });
});

这是fiddle