在Woocommerce购物车页面上数量更改时自动更新购物车

时间:2018-07-05 04:54:25

标签: php jquery wordpress woocommerce

我使用“说货到付款”时将5美元的费用加到订单总额中。转到“银行转帐”时,应免除此费用。当我说通过更改账单邮政编码来触发订单检查表更新时,这笔费用就可以被删除。但是我需要它在选择其他支付网关时也能触发。

这是我当前的代码:

<script>
    $('#payment_method_bacs').on('click', function() {
    $( 'body' ).trigger( 'update_checkout' );})
</script>

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您可以按照此步骤通过AJAX更新购物车。这是link

jQuery(function( $ ) {
    $( "form.checkout" ).on( "click", "input.qty", function( e ) {//modify this to payment gateway radio button selection
      var data = {
      action: 'update_order_review',
      security: wc_checkout_params.update_order_review_nonce,
      post_data: $( 'form.checkout' ).serialize()
    };

    jQuery.post( add_quantity.ajax_url, data, function( response )
    {
      $( 'body' ).trigger( 'update_checkout' );
    });
  });
});

在上面的代码中,而不是在数量上进行更新,只需添加您的付款网关网关单选按钮的更改事件

答案 1 :(得分:0)

由于结帐的这一部分(付款方式)已在后台更新,因此您应将点击绑定到“正文”,例如:

jQuery(document).ready(function(){
    jQuery('body').on('click', 'ul.payment_methods li', function(){
            console.log('payment method clicked');
    });
});

(未经测试!)

答案 2 :(得分:0)

只是让这个问题对将来在这里阅读的任何人有用。.这是最终为我工作的脚本。我从这里helpful guide找到了答案。

    jQuery('div.woocommerce').on('click', 'input.qty', function(){ 

        jQuery("[name='update_cart']").trigger("click");

    });