我想通过选择一些送货方式来计算总价值,然后该值将与订单小计相加。
但是当我选择其中一种送货方式,然后选择另一种送货方式时,总价值与新的和先前选择的相加。 例如。起始总数: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> </tr>
<tr>
<td>Shipping<td>$<span id="shipping">0.00</span>
</tr>
<tr><td> </tr>
<tr>
<td>Total<td> $<input type="text" id="total" name="total1" value="252.50" style="border:0px;">
</tr>
答案 0 :(得分: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>
答案 1 :(得分:0)
当然,您希望将递送添加到小计而不是总计?我的词典将总数定义为“多个部分的完整总和”,这意味着您不应再添加任何内容。 你需要
var current = parseFloat($('#subtotal').text());
并从其html中删除$符号