Я обновляю цены в корзине покупок с раскрывающимся меню количества select
с использованием событий Ajax и onchange
. Он работает нормально, но мне было интересно, есть ли альтернатива моему коду, поскольку он кажется непрактичным и слишком длинным.
Это все в функции success
function updateQuantity(form) {
const code = $(form).attr("id");
const new_qty = $(form).val();
$.ajax({
method: "POST",
data: {"code": code, "new_qty": new_qty},
success: function(result) {
//Extract required content from result
const price1 = $("<div />").append(result).find(".total-td-align").eq(0).text();
const price2 = $("<div />").append(result).find(".total-td-align").eq(1).text();
const price3 = $("<div />").append(result).find(".total-td-align").eq(2).text();
const price4 = $("<div />").append(result).find(".total-td-align").eq(3).text();
// Update total price for individual product with content extracted from result
$(".total-td-align").eq(0).text(price1);
$(".total-td-align").eq(1).text(price2);
$(".total-td-align").eq(2).text(price3);
$(".total-td-align").eq(3).text(price4);
const totalPrice = $("<div />").append(result).find(".total-amount").text();
$(".total-amount").text(totalPrice); // Total price of all products
},
error: function () {
alert("Problem in sending reply!")},
});
}
У меня всего 4 продукта, но что, если бы у меня было 500?
Скриншот корзины (названия продуктов не отображаются).
Корзина