2015-12-01 4 views
0

Создал небольшой скрипт, чтобы корзина обновлялась после того, как я изменил значение и щелкнул вне поля ввода. Но теперь он перестал работать, и я понятия не имею, почему:/Небольшой jQuery для обновления корзины перестали работать (Woocommerce/Wordpress)

  1. Вам нужно положить что-то в корзину (нажмите: «В ден Warenkorb»): http://vamedics.com/de/shop/2-lendenwirbel/

  2. Сейчас в корзине просто изменить число в поле ввода, и он должен обновить сайт, но это не меняет цену, ни количество: http://vamedics.com/de/warenkorb/

это не может быть лучшим JQuery в мире, но он сделал свою работу:/It просто нажмите кнопку обновления корзины (она скрыта v И. дисплей: нет) и обновить все время обновления телегу

Вот код:

$(document).ready(function() { 
 
    $('#input-qty').each(function() { 
 
    var elem = $(this); 
 
    elem.data('oldVal', elem.val()); 
 
    elem.bind("propertychange change click keyup input paste", function(event){ 
 
     if (elem.data('oldVal') != elem.val()) { 
 
     elem.data('oldVal', elem.val()); 
 

 
     $("#input-qty").focusout(function() { 
 
      $('input[type="submit"]:nth-child(2)').trigger('click'); 
 
     }); 
 
     } 
 
    }); 
 
    }); 
 
});

Может кто-нибудь мне помочь?

+0

Код обновляет страницу, я думаю, что проблема может быть кодом на стороне сервера, не вернув правильные значения. – Dane

+0

Я с @Dane. Он обновляет страницу, отправляет обновленную сумму как 'qty =' на сервер. Он просто не обновляется корректно на сервере. –

+1

Ой, подождите. Я понимаю, почему. Вы также отправляете старое значение. Сообщение содержит два 'qty ='. Первое - это новое значение, второе - старое значение. Который приводит к тому, что сервер ставит старое значение как 'qty' –

ответ

1

У вас есть скрытая мобильная версия тележки, которая также содержит количество. Когда вы обновляете страницу, отправляя форму, вы отправляете дубликаты имен для всего. Тележка и количество.

Это был мой запрос, когда я изменил количество:

cart%5B9dd3ecb6819c19341cce4399afa2c7dd%5D%5Bqty%5D=1&cart%5B9dd3ecb6819c19341cce4399afa2c7dd%5D%5Bqty%5D=10&coupon_code=&update_cart=Warenkorb+aktualisieren&_wpnonce=b5b38505ed&_wp_http_referer=%2Fde%2Fwarenkorb%2F

Вы можете видеть, что телега и его количество указаны в два раза. Один раз со старым значением и один раз с новым значением.

Либо сделайте отдельную форму, когда вы отправляете через JS или убедитесь, что вы меняете обе величины.

+0

Ahhh true! Вчера я добавил мобильную корзину, и до этого изменилось количество изменений. Я попытаюсь изменить JS/сделать сперва форму. Спасибо! Знаете ли вы, почему это не сработает ни на чем, кроме 1-го предмета? Если я добавлю второй, он просто не работает –

+0

Я бы предположил, что это потому, что вы используете '#' в качестве селектора - он предназначен для получения одного элемента. Если вы измените селектор на '.', это, вероятно, сработает. –

+0

большое вам спасибо! Наконец он снова работает :) –

Смежные вопросы