在Javascript中计算固定费率和总计

时间:2013-03-06 13:39:40

标签: javascript jquery html

我有一个表格,用户输入信息然后进行计算。

由于某种原因,固定费率和我的总计不会在html中输出。

这是我的剧本。

function updateCost()
{
    var amount = $('#amount').val();
    var delivery = parseInt($('#delivery').val());
    var fixedrate =  parseInt($('#total').val() / 100 * 12.4);

    var total = parseInt(amount) + parseInt(delivery);
    $("#total").html(total);
    $("#amountdiv").html(amount);
    $("#deliverydiv").html(delivery);

    var grandtotal = parseInt(fixed) + parseInt(total);
    $("#grandtotal").html(grandtotal);
    $("#total").html(total);
    $("#fixedrate").html(fixedrate);   
}

$(document).ready(function(){
    $('#amount').change(function(){ updateCost(); });
    $('#delivery').change(function(){ updateCost(); });
    $('#grandtotal').change(function(){ updateCost(); });
});

HTML就是这个..

Payment:
<div name="amount" id="amountdiv"></div>
Freight:   
<div name="delivery" id="deliverydiv"></div> 
Total Payment:
<div name="total" id="total"></div>
Due Date:    
<div name="date" id="date"></div>    
Fixed:    
<div name="fixed" id="fixedrate"></div>    
Grand Total:
<div name="grandtotal" id="grandtotal"></div>

谢谢乔纳

2 个答案:

答案 0 :(得分:1)

该行

var grandtotal = parseInt(fixed) + parseInt(total);

应该是

var grandtotal = parseInt(fixedrate) + parseInt(total);

答案 1 :(得分:1)

我认为你的意思是

 var grandtotal = parseInt(fixedrate) + parseInt(total);

但也行

var fixedrate =  parseInt($('#total').val() / 100 * 12.4);

$('#total').val()获取div的空内容并从parseInt得到0

以下是该功能的示例:

function updateCost()
{
    var amount = $('#amount').val();
    var delivery = parseInt($('#delivery').val());


    var total = parseInt(amount) + parseInt(delivery);
    $("#total").html(total);
    $("#amountdiv").html(amount);
    $("#deliverydiv").html(delivery);

    var fixedrate =  parseInt(total / 100 * 12.4);

    var grandtotal = parseInt(fixedrate) + parseInt(total);
    $("#grandtotal").html(grandtotal);
    $("#total").html(total);
    $("#fixedrate").html(fixedrate);  

}