2013-05-28 29 views
2

這是我的腳本:JQuery的ToFixed不工作

<script> 
jQuery(document).ready(function() { 
    jQuery('#btnCalculate').click(function() { 
     var salaries = parseInt(jQuery('#txtEmployeeSalaries').val(), 10); 
     var nationalInsurance = parseInt(jQuery('#txtENIC').val(), 10); 
     var pensionCont = parseInt(jQuery('#txtEPC').val(), 10); 
     var expenses = parseInt(jQuery('#txtAnyExpenses').val(), 10); 
     var income = parseInt(jQuery('#txtIncome').val(), 10); 

     var labourCost = (((salaries + nationalInsurance + pensionCont + expenses)/(income)) * 100); 
     alert(labourCost); 
     jQuery('#txtTotal').val(labourCost).toFixed(2); 
    }); 
}); 
</script> 

但是在Chrome控制檯它指出:

Uncaught TypeError: Object [object Object] has no method 'toFixed'

任何人看到任何明顯的問題呢?

回答

3

你把toFixed()放在錯誤的地方。 (toFixed()作品上的數字,可是你卻在它應用labourCost對jQuery對象,而不是數量)用途:

jQuery('#txtTotal').val(labourCost.toFixed(2)); 
+0

賓果。謝謝你,德里克。 – Subby

+0

你還可以告訴我Radi在PareInt中的意思嗎? – Subby

+1

@Subby它可以避免在較舊的瀏覽器上解析以8爲前綴的整數。0 –

6

使用toFixed這種方式 - (你得到的是錯誤bcoz你想在jquery對象上使用該方法

jQuery('#txtTotal').val(labourCost.toFixed(2)); 
+0

啊......我明白了....非常感謝。 – Subby

+0

你知道Radix的用途是在ParseInt部分嗎? – Subby