请原谅我,如果我在正确命名方面不合适的话。
我有一个多个下拉列表,在每个选择被选中后计算价格,在所有列表的末尾,我有一个每次添加的总金额,但我希望最后一个下拉列表按总金额折扣%不添加。
价格来自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());
有关。我想用+
取代/
它会起作用但什么都没有?
由于
答案 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