Скрипт упростил до предела, оставил только смысл. Суть в том, что выбирается количество товара, после этого вибирается вариант доставки, если выбран вариант доставки яндекса происходит инициализация виджета initCartWidget, далее если виджет готов (ydwidget.ready) он наполняется всеми параметрами доставки , например 'getCity': 1. Проблема в том, что если изменить количество товара и снова выбрать этот вариант доставки, то повторной инициализации не происходит и ydwidget.initCartWidget вообще не отрабатывает. Все значения остаются старыми. Как заставить его перезапустить наполнение?
$(document).ready(function(){
$('.mainSelect').change(function(){ // Изменение варианта доставки
if($(this).val() == "yandex" ){ // Если выбран нужный вариант доставки
// Инициализация виджета
ydwidget.initCartWidget({
'totalItemsQuantity': function (){
var count = parseFloat($('.CartCountTotal').text());
return count;
}
});
// Имитируем клик по блоку
$('#yd_delivery').click();
} else {
console.log('выбран не нужный нам вариант');
}
})
}) // это конец document.ready
// Здесь внутри initCartWidget объект наполняется нужными параметрами
ydwidget.ready(function(){
ydwidget.initCartWidget({
'getCity': 1,
})
})