Не правильно работает переключатель вариаций на странице товара. Помогите найти ошибку
Всем доброго времени суток.
Помогите разобраться и найти ошибку.
На странице товара можно сделать выбор между двумя вариациями.
После переключения между ними не меняется цена товара - если с вариации по умолчанию переключиться на другую, цена зависает и больше никак не реагирует на выбор.
Переключатель вариаций рукописный.
Вот ссылка на страницу товара https://test1.yubikey.com.ua/shop/yubikey-5c-nfc/
И код переключателя .
var DEBUG = true;
jQuery(function() {
if(jQuery("#pa_pack").length != 0) {
var sDefaultPack = jQuery('#pa_pack').val();
jQuery('#'+sDefaultPack).addClass('clicked');
var varQty = jQuery('#product-selections-div').children().length;
if (DEBUG){console.log('default pack: ' + sDefaultPack);} // debug
if (DEBUG){console.log('variations qty: ' + varQty);} // debug
}
if(jQuery("#dpd_terminal").length)
{
jQuery("#dpd_terminal").select2();
}
getDefaultPackType();
});
function setVariant(sID)
{
if (sID != jQuery('#pa_pack').val()) // check if clicked isn't current variation
{
if (DEBUG){console.log('selected variation ' + sID);} // debug
jQuery('#product-radio-div').show(); // Show package selector
jQuery('.product-selector').removeClass('clicked');
jQuery('#radio-individual_packaging').attr('checked',true); // Set radio button to Индивидуальная упаковка
this.setPackTypeVariant('individual_packaging'); // Set variation to Индивидуальная упаковка
jQuery('#'+sID).addClass('clicked');
if (sID == 'tray_keys') // If Tray variant is checked
{
// jQuery('#radio-no_packaging').attr('checked',true);
jQuery('#product-radio-div').hide(); // Hide package selector
}
jQuery('#pa_pack option[value="'+sID+'"]').attr('selected', 'selected');
jQuery("#pa_pack").change();
// jQuery("#woocommerce-variation-name").html("<h1>" + variationName[sID] + "</h1>");
// if (DEBUG){console.log('variation name ' + variationName[sID]);} // debug
}
}
function setPackTypeVariant(sID)
{
//jQuery('.product-selector').removeClass('clicked');
//jQuery('#'+sID).addClass('clicked');
jQuery('#pa_pack_type option[value="'+sID+'"]').attr('selected', 'selected');
jQuery("#pa_pack_type").change();
}
function getDefaultPackType()
{
if(jQuery("#pa_pack_type").length != 0) {
sValue = jQuery("#pa_pack_type").val();
jQuery('#radio-'+sValue).attr('checked',true);
}
}
function CatalogFilter(sSelectedkey)
{
jQuery('.av-section-tab-title').removeClass('av-active-tab-title');
if(sSelectedkey=='all')
{
jQuery('#tab-title-all').addClass('av-active-tab-title');
jQuery('.category-container').show();
jQuery('.category-container .category-descr').show();
jQuery('.category-container .small-product-desc').show();
}
else
{
jQuery('#tab-title-'+sSelectedkey).addClass('av-active-tab-title');
jQuery('.category-container').hide();
jQuery('.category-container-'+sSelectedkey).show();
jQuery('.category-container-'+sSelectedkey+' .category-descr').hide();
jQuery('.category-container-'+sSelectedkey+' .small-product-desc').hide();
}
}
function quantity_change_btn_click(doPlus, idS)
{
var number = jQuery('#'+idS.id),
max = parseFloat( number.attr( 'max' ) ),
min = parseFloat( number.attr( 'min' ) ),
step = parseInt( number.attr( 'step' ), 10 );
// --Quantity
if (doPlus==false){
var the_val = parseInt( number.val(), 10 ) - step;
the_val = the_val < 0 ? 0 : the_val;
the_val = the_val < min ? min : the_val;
number.val(the_val).trigger("change");
}
// ++Quantity
else{
var the_val = parseInt( number.val(), 10 ) + step;
the_val = the_val > max ? max : the_val;
number.val(the_val).trigger("change");
}
}
// Автообновление стоимости заказа после изменения кол-ва товаров в корзине. Можно вешать на onChange
function update_Cart()
{
jQuery("button[name='update_cart']").prop("disabled", false);
jQuery("button[name='update_cart']").trigger('click');
}
function reload_js(src) {
//console.log("ssssssssssss");
jQuery('script[src="' + src + '"]').remove();
jQuery('<script>').attr('src', src).appendTo('footer');
}
jQuery( document).on( 'updated_cart_totals', function(){
document.location.reload(false); //Reload page. Fixing AJAX-update when you can't choose a city in DPD
});