我在产品页面上有自定义变体视图。这是一个simple colorboxes。我隐藏了默认的woocommerce变体选择,而不是在点击框后更改它:
jQuery('.colors-list li').on('click', function(event){
if(!jQuery(this).hasClass('active')){
//change active square
jQuery('.colors-list .active').removeClass('active');
jQuery(this).addClass('active');
//change active color label
var colorName = jQuery(this).attr('colorname');
jQuery('.checked-color').html(colorName);
//change value of hided woocommerce variable switcher
var colorSlug = jQuery(this).attr('colorval');
jQuery('#pa_color').val(colorSlug).change();
jQuery('.variations_form').trigger('woocommerce_variation_select_change');
}
});
但是一旦我只改变了一个选择(颜色),因此我在js中有一个错误(add_to_cart variation.js):
未捕获的TypeError:无法读取null的属性'length'
错误:
if ( $( this ).val().length === 0 ) .
如果我只有一个变体 - 不会发生错误。我试图用颜色将第二个选择更改为默认值,但没有任何改变。