JavaScript计算中的结果不正确

时间:2017-02-26 06:13:47

标签: javascript jquery asp.net

下面的java脚本代码应该在将订单金额添加到订单金额后获得订单金额和订单总金额。

示例

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>

2 个答案:

答案 0 :(得分:1)

使用+运算符进行字符串连接。

添加

之前的

parseInt或parseFloat

答案 1 :(得分:1)

尝试更改:

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

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