Hi Team
My total to calculate items added on the shopping cart is not showing actual total. How do i achieve this on jqeury and php?
// jquery
/** *@author:Gcobani Mkontwana *@date:18/04/2023 * this updates, delete shopping cart. */ // Get the cart from local storage function getCart() { var cart = localStorage.getItem('cart'); if (cart) { return JSON.parse(cart); } else { return {}; } } // Save the cart to local storage function saveCart(cart) { localStorage.setItem('cart', JSON.stringify(cart)); } // Update the cart count in the navbar function updateCartCount() { var cartCount = Object.values(getCart()).reduce((a, b) => a + b, 0); $('#cart-count').text(cartCount); } // update total to the shopping-cart. function calculate_total() { var cart = getCart(); var total = 0; for (var productId in cart) { var product = getProduct(productId); var price = parseFloat(product.price); var quantity = parseInt(cart[productId]); var subtotal = price * quantity; total += subtotal; } $('#total-amount').text('$' + total.toFixed(2)); // update the text of the total td element return total.toFixed(2); } $(document).ready(function() { $('.btn-plus').click(function() { var productId = $(this).closest('.input-group').find('.product-quantity').data('product-id'); var quantityInput = $(this).closest('.input-group').find('.product-quantity'); var currentQuantity = parseInt(quantityInput.val()); var newQuantity = currentQuantity + 1; quantityInput.val(newQuantity); addToCart(productId, newQuantity); }); $('.btn-minus').click(function() { var productId = $(this).closest('.input-group').find('.product-quantity').data('product-id'); var quantityInput = $(this).closest('.input-group').find('.product-quantity'); var currentQuantity = parseInt(quantityInput.val()); if (currentQuantity > 1) { var newQuantity = currentQuantity - 1; quantityInput.val(newQuantity); addToCart(productId, newQuantity); } }); function addToCart(productId, quantity) { var cart = getCart(); if (cart.hasOwnProperty(productId)) { var newQuantity = parseInt(quantity); if (newQuantity <= 0) { delete cart[productId]; } else { cart[productId] = newQuantity; } } else { cart[productId] = parseInt(quantity); } saveCart(cart); updateCartCount(); } // Display message var productName = $('#product-name-' + productId).text(); $('#cart-message').text(quantity + 'x ' + productName + ' added to cart').show(); setTimeout(function() { $('#cart-message').fadeOut('slow'); }, 3000); // Initialize the cart count in the navbar updateCartCount(); });
// html code
<td>R</td> <td>%13</td> <td>R</td> <td><a ><i class="fa fa-trash-o"></i></a></td> </tr> </tbody> <tfoot> <tr> <th colspan="5" id="total-amount">Total</th> <th colspan="2"></th> </tr> </tfoot> </table> </div> <p id="cart-message" class="text-success" style="display: none;"></p>