2016-09-29 63 views
0

我正在制作评论购物车&结账窗体。如果用户想要更改我想要的数量,如果数量发生变化,其价格将自动更改。如何更新购物车中的数量如有更改价格

请帮助调整相同的JS减号或分开的代码。

图片低于审议车&结帐的: enter image description here

JS的加&减:为正负

<script type="text/javascript"> 
function subtractQty(){ 
    if(document.getElementById("number").value - 1 < 0) 
     return; 
    else 
    document.getElementById("number").value--; 
    } 
</script> 

HTML/PHP:

<div class="quantity"> 
<input style="font-size:21px;" type="button" value="-" onclick='javascript: subtractQty();' class=""> 
<input id="number" type="number" value="<?php echo $qtyT; ?>" class="qty" name="picpac"> 
<input style="font-size:21px;" type="button" value="+" onclick='javascript: document.getElementById("number").value++;' class="plus"> 
</div> 
+1

你需要为这个 – madalinivascu

+0

您可以使用Ajax jQuery的? – dcalap

+0

在jquery on change事件中再做与总量或触发总量函数有关的函数。 –

回答

1

您可以按照两种不同的策略:

  • 调用服务器与Ajax调用,通过数量为参数,计算出总金额并返回。
  • 用jQuery完成前端的所有操作,最后传递计算值来存储它。

In this link我已经用你提供的HTML编码了第二个例子。我只是增加了一个DIV的计算值

<div id="product1_total_price">0</div> 

那些神奇的藏为产品基础价格

<input type="hidden" id="product1_base_price" value="10"> 

这jQuery代码输入:

$(document).ready(function() { 

$(".operator").on('click',function() { 
    $("#product1_total_price").text($("#product1_base_price").val()*$("#number").val()); 
}); 
}); 

希望它可以帮助。

编辑:

我添加了一个(和更新的jsfiddle链接)suppossed Ajax调用使用jQuery,更新数据库上的每个数量的变化:

$.ajax({ 
     type: "GET", 
     data: { 
      idProduct: yourProductId, 
      quantity: $("#number").val(), 
      totalPrice: calculatedValue 
     }, 
     url: "your-script.php", 
     success: function(json_response) { 

      if(json_response.result != 'SUCCESS') { 
       // Whatever 
      } else { 
       alert("Updated in DB"); 
      }); 
    }) 
+0

以及你的答案正在工作,但我想在数据库中也自动更新。你能帮忙吗? –

+0

我已经更新了JSFiddle链接(https://jsfiddle.net/5moztzm1/2)和假定的ajax调用。你需要适应你的PHP脚本。问候。 – dcalap

+0

我试过了,它不更新....这是我的更新脚本:'<?php include(“inc/db。PHP “); 在session_start(); $ ses_mem \t = \t $ _SESSION [ 'ses_user_id']; 提取物($ _ POST); $ PP \t = \t mysqli_query(” 更新temp_cart 集数量='$ picpac” 其中ses_mem =‘$ ses_mem’ “);? >' –