2016-09-29 25 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

次の2つの異なる戦略に従うことができます。

  • を、Ajax呼び出しを使用してサーバーを起動パラメータとして数量を渡し、合計金額を計算し、それを返します。
  • フロントエンドのすべての操作をjQueryで行い、最後に計算された値を渡して保存します。

In this link私は、提供されたHTMLで2番目の簡単な例をコーディングしました。私は、製品の基本価格

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

と魔法を行い、このjQueryのコードを隠さ入力計算値のため

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

をdiv要素を追加しました:

$(document).ready(function() { 

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

はそれが役に立てば幸い。 EDITED

私が追加(およびJSFiddleリンクを更新)すべての数量変化にDBを更新するために、jQueryを使ってAjax呼び出しをsuppossed:

$.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' 「);?私は > ' –

関連する問題