Как обновить корзину woocommerce после того как кол-во товара изменили?

Есть такой скрипт
jQuery( function( $ ) {
 
 $( 'body' ).on( 'click', 'span.quantity-arrow-plus, span.quantity-arrow-minus', function() {
    var qty = $(this).parent().find( 'input' ),
        val = parseInt( qty.val() ),
        min = parseInt( qty.attr( 'min' ) ),
        max = parseInt( qty.attr( 'max' ) ),
        step = parseInt( qty.attr( 'step' ) );
   
    // дальше меняем значение количества в зависимости от нажатия кнопки
    if ( $( this ).is( '.quantity-arrow-plus' ) ) {
      if ( max && ( max <= val ) ) {
        qty.val( max );
      } else {
        qty.val( val + step );
      }
    } else {
      if ( min && ( min >= val ) ) {
        qty.val( min );
      } else if ( val > 1 ) {
        qty.val( val - step );
      }
    }
 

    input.val( quantity ).change();
    $( '[name="update_cart"]' ).trigger( 'click' );
  } ); 
 
} );


Он меняет значение в input (кол-во товара) в корзине woocommerce. Значение меняется, но вот корзина не обновляется и пишет ошибку что input не вызывается. Я ноль в js помогите кто знает. Спасибо.
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
makbori
@makbori Автор вопроса
Wordpress
Сам дошел до решения, но не факт что это правильно. Но это работает

jQuery( function( $ ) {
 
 $( 'body' ).on( 'click', 'span.quantity-arrow-plus, span.quantity-arrow-minus', function() {
    var qty = $(this).parent().find( 'input' ),
        val = parseInt( qty.val() ),
        min = parseInt( qty.attr( 'min' ) ),
        max = parseInt( qty.attr( 'max' ) ),
        step = parseInt( qty.attr( 'step' ) );
   
    // дальше меняем значение количества в зависимости от нажатия кнопки
    if ( $( this ).is( '.quantity-arrow-plus' ) ) {
      if ( max && ( max <= val ) ) {
        qty.val( max );
      } else {
        qty.val(val + step).change();
        $( '[name="update_cart"]' ).trigger( 'click' );
      }
    } else {
      if ( min && ( min >= val ) ) {
        qty.val( min );
      } else if ( val > 1 ) {
      qty.val(val - step).change();
      $( '[name="update_cart"]' ).trigger( 'click' );
      }
    } 
  } ); 
 
} );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы