2013-03-06 64 views
0

我有一個表單,用戶輸入信息然後進行計算。在Javascript中計算固定費率和總計

由於某些原因,固定費率和我的總計不是在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> 

感謝約拿

+1

用戶如何輸入g的價值?元素都是'div's,不應該是'input's? – 2013-03-06 13:50:42

+0

這是你所有的HTML,還是其他地方的表單輸入?如果這是你的HTML,這很容易解決 - 只是想確保我們有所有的信息! – Beejamin 2013-03-06 14:40:56

回答

1

我認爲你的意思

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

還行

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

$('#total').val()獲得股利空的內容,並從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); 

} 
+0

嗨,但#total,是由用戶輸入'金額'和'交付'?所以在理論上,div不應該爲0. – Jonah 2013-03-06 14:31:54

+0

好吧,那麼你需要更新之前的div與輸入的內容,並確保有inst沒有混淆的id總數 – kingdomcreation 2013-03-06 14:33:49

+0

你可以看看這裏:http:// jsfiddle.net/7zLda/1/ – kingdomcreation 2013-03-06 14:38:29

1

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

也許應該

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

好點,雖然固定利率是0. – Jonah 2013-03-06 13:46:09

+1

是否有可能將「總計」分配給輸入字段和分配? .val()僅適用於輸入字段AFAIK,在其他元素上使用時,它僅返回未定義。 – tobi 2013-03-06 13:55:09

+0

只有兩個輸入字段。一個叫做'金額',另一個叫'交付'。一切都應該從這兩個領域制定出來。 – Jonah 2013-03-06 14:20:21