2017-02-26 72 views
0

下面的java腳本代碼應該在將訂單金額添加到訂單金額後獲得訂單金額和訂單總金額。JavaScript計算中的結果不正確

Order Amount = 25 
Delivery charge = 5 
Total Amount = 30 

交貨電荷來自在ASP標籤控制。

但是,當我應用吹碼時,我得到了這些結果。

Order Amount = 25 
Delivery charge = 5 
Total Amount = 255 

的JavaScript

<script> 
     $(document).ready(function() { 
      function multInputs() { 
       var $mult = 0; 
       var $multGrand = 0; 
       var $multCharge = 0; 
       $("tr.txtMult").each(function() { 
        var $UnitPrice = $('.UnitPrice', this).val(); 
        var $Quantity = $('.Quantity', this).val(); 
        var $total = (($UnitPrice) * ($Quantity)); 

        $mult += $total; 
        $multCharge = $mult + $('#<%= lbldcharge.ClientID %>').text(); 

       }); 

       $("tr.txtMult").each(function() { 
        var $UnitPrice = $('.UnitPrice', this).val(); 
        var $Quantity = $('.Quantity', this).val(); 
        var $total = (($UnitPrice) * ($Quantity)); 

        $('.multTotal', this).text(parseFloat($total).toFixed(2)); 

       }); 
       $(".lblGrandAmount").text(parseFloat($mult).toFixed(2)); 
       $(".lblChrageAmount").text(parseFloat($multCharge).toFixed(2)); 

      } 

      $(".txtMult input").on('keyup mouseup', multInputs); 
      function multInputs() { 
       var $mult = 0; 
       var $multGrand = 0; 
       var $multCharge = 0; 
       $("tr.txtMult").each(function() { 
        var $UnitPrice = $('.UnitPrice', this).val(); 
        var $Quantity = $('.Quantity', this).val(); 
        var $total = (($UnitPrice) * ($Quantity)); 

        $mult += $total; 
        $multCharge = $mult + $('#<%= lbldcharge.ClientID %>').text(); 


       }); 

       $("tr.txtMult").each(function() { 
        var $UnitPrice = $('.UnitPrice', this).val(); 
        var $Quantity = $('.Quantity', this).val(); 
        var $total = (($UnitPrice) * ($Quantity)); 


        $('.multTotal', this).text(parseFloat($total).toFixed(2)); 

       }); 
       $(".lblGrandAmount").text(parseFloat($mult).toFixed(2)); 

       $(".lblChrageAmount").text(parseFloat($multCharge).toFixed(2)); 
      } 
     }); 

    </script> 

標籤

<asp:Label ID="lbldcharge" runat="server" Text="5"></asp:Label> 
+1

255結果來自添加字符串 「25」 和 「5」 - 你需要使用數字(parseFloat ) –

+0

看起來像一個操作數是一個字符串,所以它們被連接成字符串,而不是作爲數字添加。 – Li357

+0

你需要解析你的值到'parseInt/parseFloat' – Roljhon

回答

1

字符串連接與+操作發生。

parseInt函數或parseFloat加入

1

之前嘗試改變:

$multCharge = $mult + $('#<%= lbldcharge.ClientID %>').text() 

$multCharge = $mult + parseFloat($('#<%= lbldcharge.ClientID %>').text())