以上是我的購物車。下面我顯示流程。
[產品圖像點擊] - > AJAX請求獲取通過jQuery從數據庫 細節對於該特定產品ID和附加(產品名稱,ID和價格 自動附加)。
[QTY的onfocus] - >的jquery autocalculates子總和顯示 - >
還發送AJAX請求計算總,GST和總支付和 這就是問題的開始位置。
由於Ajax請求作出的onfocus,每次數量文本框是 重點,它關係到PHP頁面,併爲總,GST 和總付款的計算量。因此不斷增加超越邏輯。
我保存傳遞給會話中的php頁面的所有值。所以每次,ajax請求都會攜帶qty和它總是添加到會話中的子總值。爲了節省麻煩,我想嘗試純白色區域的客戶端計算,就像我如何計算子總數而不提出Ajax請求。
有什麼方法,有人可以給我想法如何爲所有項目添加總數量和總計sub_total,而無需發送到PHP頁面進行計算?也許可以向我介紹jQuery數組排序的事情。我嘗試在網上搜索,但無法理解。
HTML
<form action="#" method="POST" id="cart_form">
<table class='header_tbl' style="background:none !important;">
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>Qty</th>
<th>Sub Total</th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
<tr>
<td>Total</td><td></td><td><span class='qty_1'></span><input type='hidden' name='total_qty' value=''></td><td><span class='total'></span><input type='hidden' name='total' value=''></td><td></td>
</tr>
<tr>
<td>GST 6%</td><td></td><td></td><td><span class='gst'></span><input type='hidden' name='gst' value=''></td><td></td>
</tr>
<tr>
<td>Discount (x%)</td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td>Total Payment</td><td></td><td></td><td><span class='grand'></span><input type='hidden' name='grand' value=''></td><td></td>
</tr>
<tr><td colspan="5" class="checkout"><input type="submit" name='submit' id="checkout" value="CHECK OUT"/></td></tr>
</tfoot>
</table>
</form>
腳本添加元素融入形式
for (i = 0; i < data.length; i++) {
$(".header_tbl tbody").prepend("<tr id='"+data[i].id+"'><th class='product'>"+data[i].catalog_name+"<input type='hidden' name='catalog_name[]' value='"+data[i].catalog_name+"'></th><td class='price'>RM <span>"+data[i].price_normal+"</span><input type='hidden' name='"+data[i].id+"_price[]' value='"+data[i].price_normal+"'></td><td class='qty_"+data[i].id+"'><input type='text' name='qty' style='width:50px;height:20px;margin:10px auto;' onfocus='subTotal(\""+data[i].id+"\")' value=''><input type='hidden' name='"+data[i].id+"_qty2[]' value=''></td><td class='sub_total'><span class='sub_total_"+data[i].id+"'></span><input type='hidden' name='"+data[i].id+"_sub_total[]' value=''></td><td><img src='"+p_img_path+"del.png' style='width:15px;cursor:pointer;' onClick='del_this(\""+data[i].id+"\")'></td></tr>");
}
您是否嘗試將onchange事件附加到您的量子盒來進行計算,然後事件被解僱? – Bindrid
由於每個產品的數量和價格都出現在DOM本身內部的客戶端,您可以使用jquery在客戶端自己計算。在這裏發佈您的DOM結構 – dreamweiver
@dreamweiver,我在我的文章中加入了我的html和腳本 – 112233