所以我有一个初始值$8.90
,如果选中了复选框,我们的想法就是增加额外的费用。每个复选框都有一个数据价格值的价格,当我点击第二个复选框时问题就出现了。它应该将费用加到当前值:
实时脚本: http://jsfiddle.net/NF7x9/
JQUERY:
$(document).ready( function() {
var subt_value = parseFloat($('#subt0').text());
var start_price = parseFloat($('#subt0').attr('data-original'));
$("#ser1, #ser2").click(function(){
var sub_total = 0
var extra_fee = parseFloat($(this).attr('data-price')/1.12).toFixed(2);
$(this).each(function(){
if($(this).is(":checked")){
var sub_total = subt_value + parseFloat(extra_fee);
$('#subt0').text(parseFloat(sub_total).toFixed(2));
}else{
$('#subt0').text(parseFloat(start_price).toFixed(2));
}
});
});
});
HTML:
<label id="subt0" data-original="8.90">8.90</label>
<input name="service1" type="checkbox" id="ser1" data-price="1" value="1" title="Service 1" />
<input name="service2" type="checkbox" id="ser2" data-price="5" value="1" title="Service 2" />
结果:
以 $ 8.90 开头。如果我选中ID=ser2
复选框,则价格会更改为13.36
现在,如果我选中ID=ser1
框,则$9.79
的总数应为14.25
< / p>
答案 0 :(得分:2)
我会在每次单击其中一个复选框时检查并从起始值计算。
var subt_value = parseFloat($('#subt0').text());
var start_price = parseFloat($('#subt0').attr('data-original'));
$("#ser1, #ser2").click(function(){
var amountToAdd = 0.0;
// check each button to see if it has a clicked state.
$("#ser1, #ser2").each(function() {
if($(this).is(":checked")){
amountToAdd += parseFloat($(this).attr('data-price'));
}
});
$('#subt0').text(parseFloat(amountToAdd+start_price).toFixed(2));
});