0

我想通过选择某种运输方式来计算总值,然后该值将与订单小计相加。

但是当我选择一种运输方式然后选择另一种运输方式时,总价值与新的和以前选择的总和。例如。开始时总计:200 然后单击“DHL 标准递送:10.50 美元”-> 总计 = 210.50。之后,点击“DHL快递:$42.50”->总计=252.50,但应该是242.50

我该如何解决这个问题?

这是我的 jQuery 代码

 $("input:radio[name=shipping]").click(function(){
                var total = 0;
                $("input:radio[name=shipping]:checked").each(function() {
                    total += parseFloat($(this).val());
                });
                var current = parseFloat($('#total').val());
                $("#shipping").html(total);
                total += current;
                $("input:text[name=total1]").val(total);

            });

HTML 代码

<tr valign="top">
    <td>Select Shipping method</td>
<td>
    <input id="shipping_method" type="radio" name="shipping" value="10.50"> DHL standard delivery : $10.50<br>

    <input id="shipping_method" type="radio" name="shipping" value="42.50"> DHL express delivery : $42.50<br>
    <input id="shipping_method" type="radio" name="shipping" value="0.00"> pick up : $0.00<br><br>
</td>
 </tr>

 <tr>
 <td>Order Subtotal<td><label id="subtotal" value="">$200.00</label>
 </tr>
 <tr><td>&nbsp;</tr>
 <tr>
    <td>Shipping<td>$<span id="shipping">0.00</span>
 </tr>
 <tr><td>&nbsp;</tr>
 <tr>               
 <td>Total<td>  $<input type="text" id="total" name="total1" value="252.50" style="border:0px;">
 </tr>
4

2 回答 2

0

您确定要将交货添加到小计而不是总计吗?我的字典将总计定义为“多个部分的完整总和”,这意味着您不应该再添加任何内容。你需要

var current = parseFloat($('#subtotal').text());

并从其 html 中删除 $ 符号

于 2012-10-06T07:24:26.203 回答
0

试试这个通知我改变了附加的总变量。

 <script>
 $(document).ready(function() { 
                $("input:radio[name=shipping]").click(function(){
                    var total = 0;
                    $("input:radio[name=shipping]:checked").each(function() {
                        total = parseFloat($(this).val());
                    });
                    var current = parseFloat($('#total').val());
                    $("#shipping").html(total);
                   total =  total + parseInt($('#subtotal').text().replace('$',''));
                    $("input:text[name=total1]").val(total);

                });
            }); 
</script>
于 2012-10-06T07:22:36.843 回答