Для обновления этих данных вы обычно используете интерфейсный инструмент. Vue, React или Angular - это общие структуры JavaScript. По сути, для всех них событие, которое добавляет товар в корзину, обновляет другие элементы. Вы можете сделать все это с помощью родного JavaScript.
Вы также можете достичь этого с загрузкой страниц. Когда вы нажимаете добавить в корзину, вы попадаете на новую страницу. Запрос на публикацию из добавления в корзину добавит идентификатор элемента в переменную сеанса корзины и обновит общую цену сеанса, чтобы получить ту же информацию.
$(document).ready(function() {
$('.game_opt').click(function() {
var available = false;
var player_game_id = $(this).attr('data-game-id');
var value = $(this).attr('data-attend-value');
$.ajax({
type: "GET",
url: '/attend/'+player_game_id+'/'+value,
dataType: "json",
success: function( msg ) {
$('#roster_'+msg.game_id).text('('+msg.skaters+')');
if(msg.game_full == 1) {
window.location.replace("/waitlist/"+msg.game.id);
available = true;
} else {
updateBalance();
}
}
});
});
});
Обновление баланса - это функция, которую я имею в другом скрипте, которая устанавливает баланс в заголовке.
function updateBalance() {
$.ajax({
type: "GET",
url: '/players/balance',
dataType: "json",
success: function( msg ) {
$('#my_balance').text(msg.balance);
if (msg.debt == 1) {
$(".balnce-due-bar").hide().fadeIn();
} else {
$(".balnce-due-bar").fadeOut();
}
}
});