2014-01-30 85 views
-4

我是新來的查詢/ javascript和下面的代碼來計算總值和稅額基於用戶輸入的淨金額的 有問題。用戶將輸入一個雙倍的金額,總額和增值金額也被定義爲雙打。 任何人都可以幫忙嗎?我收到一個錯誤:「未捕獲的SyntaxError:意外的數字」當我嘗試運行下面的代碼。jquery/Javascript問題

   $('#netPayment').change(calcLowerVatRateAndGrossAmount); 
       /* $('#netPayment').change(function(){ 
        calcLowerVatRateAndGrossAmount(); 
       }); */     
    });  

    function calcVatRateAndGrossAmount(){      
     var netPayment = parseFloat($('#netPayment').val());       
     var vatAmount = 00.0; 
     var VatRate = 20.0; 
     var grossPayment = 0.00; 
     var totalPaymentAmount = 0.00; 
     if (netPayment !== '') { 
      vatAmount = (netPayment * VatRate)/100; 
      grossPayment = (netPayment - vatAmount);       
      $('#vatAmount').val(parseFloat(vatAmount.data).toFixed(2)); 
      $('#grossPayment').val(parseFloat(grossPayment.data).toFixed(2)); 
     } else { 
      $('#vatAmount').val(vatAmount.amountNull); 
      $('#grossPayment').val(grossPayment.amountNull); 
     } 
    }; 

+0

詳細的問題,所以我們知道要找什麼 –

+0

1)問題是什麼? 2)'.data'和'.amountNull'屬性的一些細節將會有所幫助。 –

+0

既然'vatAmount'是一個數字,你期望'vatAmount.data'是什麼?類似的'grossPayment'和'.amountNull'? –

回答

1

所以你在這裏計算數量

vatAmount = (netPayment * VatRate)/100; 

而在這裏,你對待vatAmount作爲具有關鍵data

$('#vatAmount').val(parseFloat(vatAmount.data).toFixed(2)); 

你應該僅僅是一個對象使用變量。一個簡單的測試

console.log("variable itself: ", vatAmount); 
console.log("key data: ", vatAmount.data); 

所以,你會需要只是做

$('#vatAmount').val(vatAmount.toFixed(2)); 
$('#grossPayment').val(grossPayment.toFixed(2)); 

您與grossPayment做同樣的事情,您引用一些其他財產vatAmount.amountNull

$('#vatAmount').val(vatAmount.amountNull); 
$('#grossPayment').val(grossPayment.amountNull); 

應該

$('#vatAmount').val(""); //or any error message 
$('#grossPayment').val(""); 
+0

'parseFloat(vatAmount)'仍然是錯誤的。 –

+0

請注意語法錯誤/錯字問題應該關閉。你有投票嗎? –

+0

@JanDvorak一個數字的parseFloat會出現什麼問題?它只會返回一個數字。 – epascarello