我使用“说货到付款”时将5美元的费用加到订单总额中。转到“银行转帐”时,应免除此费用。当我说通过更改账单邮政编码来触发订单检查表更新时,这笔费用就可以被删除。但是我需要它在选择其他支付网关时也能触发。
这是我当前的代码:
<script>
$('#payment_method_bacs').on('click', function() {
$( 'body' ).trigger( 'update_checkout' );})
</script>
有什么想法吗?
答案 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");
});