Как посчитать сумму товара js
HTML файл
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<header></header>
<main>
<p><button class="back"><a href="index.html" id="but">Главная</a></button></p>
<div class="order_main">
<div class="main-cart"></div>
<div class="email-field">
<p>Имя: <input type="text" id="ename"></p>
<p>Email: <input type="text" id="email"></p>
<p>Телефон: <input type="number" id="ephone"></p>
<p><button class="send-email">Заказать</button></p>
</div>
</div>
</main>
<footer></footer>
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/cart.js"></script>
</body>
</html>
В 1 цикле есть расчет суммы одного товара, как вывести сумму всех товаров которые будут добавлены?
var cart = {};
function loadCart() {
//проверяю есть ли в localStorage запись cart
if (localStorage.getItem('cart')) {
// если есть - расширфровываю и записываю в переменную cart
cart = JSON.parse(localStorage.getItem('cart'));
showCart();
}
else {
$('.main-cart').html('Корзина пуста!');
}
}
function showCart() {
//вывод корзины
if (!isEmpty(cart)) {
$('.main-cart').html('Корзина пуста!');
}
else {
$.getJSON('goods.json', function (data) {
var goods = data;
var out = '';
for (var id in cart) {
out += `<button data-id="${id}" class="del-goods">x</button>`;
out += `<img src="image/${goods[id].img}">`;
out += ` ${goods[id].name }`;
out += ` <button data-id="${id}" class="minus-goods">-</button> `;
out += ` ${cart[id]} `;
out += ` <button data-id="${id}" class="plus-goods">+</button> `;
out += cart[id]*goods[id].cost;
out += '<br>';
}
$('.main-cart').html(out);
$('.del-goods').on('click', delGoods);
$('.plus-goods').on('click', plusGoods);
$('.minus-goods').on('click', minusGoods);
});
}
}
function delGoods() {
//удаляем товар из корзины
var id = $(this).attr('data-id');
delete cart[id];
saveCart();
showCart();
}
function plusGoods() {
//добавляет товар в корзине
var id = $(this).attr('data-id');
cart[id]++;
saveCart();
showCart();
}
function minusGoods() {
//уменьшаем товар в корзине
var id = $(this).attr('data-id');
if (cart[id]==1) {
delete cart[id];
}
else {
cart[id]--;
}
saveCart();
showCart();
}
function saveCart() {
//сохраняю корзину в localStorage
localStorage.setItem('cart', JSON.stringify(cart)); //корзину в строку
}
function isEmpty(object) {
//проверка корзины на пустоту
for (var key in object)
if (object.hasOwnProperty(key)) return true;
return false;
}
function sendEmail() {
var ename = $('#ename').val();
var email = $('#email').val();
var ephone = $('#ephone').val();
if (ename!='' && email!='' && ephone!='') {
if (isEmpty(cart)) {
$.post(
"core/mail.php",
{
"ename" : ename,
"email" : email,
"ephone" : ephone,
"cart" : cart
},
function(data){
if (data==1) {
alert('Заказ отправлен');
}
else {
alert('Повторите заказ');
}
}
);
}
else {
alert('Корзина пуста');
}
}
else {
alert('Заполните поля');
}
}
$(document).ready(function () {
loadCart();
$('.send-email').on('click', sendEmail); // отправить письмо с заказом
});