我正在自定义woocommerce结帐页面,我添加了另一种付款方式,我希望当用户更改付款方式时,运费将根据新的付款方式更改为,我的问题是复选框更改事件未触发,这是首页结帐页面的图片
我已经创建了一个更改运费的jquery函数,并且添加了一个jquery代码以观看付款事件的更改
$('input[name=payment_method]').change(function(e){
update_shipping("test");
})
这是更新运输功能
function update_shipping(billingstate)
{
if ( xhr ) xhr.abort();
$( '#order_methods, #order_review' ).block({
message: null,
overlayCSS: { background: '#fff url(' + wc_checkout_params.ajax_loader_url + ') no-repeat center',
backgroundSize:'16px 16px',
opacity: 0.6
}
});
var data = {
action: 'woocommerce_update_order_review',
security: wc_checkout_params.update_order_review_nonce,
billing_state: billingstate,
post_data: $( 'form.checkout' ).serialize()
};
xhr = $.ajax({
type: 'POST',
url: wc_checkout_params.ajax_url,
data: data,
success: function( response ) {
var order_output = $(response);
$('.wrap-review-order').hide();
$( '#order_review' ).html(
response['fragments']['.woocommerce-checkout-review-order-table']+
response['fragments']['.woocommerce-checkout-payment']);
$('body').trigger('updated_checkout');
},
error: function(code){
console.log('ERROR');
}
});
}
jQuery('#billing_state').change(function(e, params){
update_shipping(jQuery(this).val());
$('#billing_city').val('');
$('#billing_address_1').val('');
});
});
但是当我更改付款时,我没有使用控制台日志进行过测试,也没有在控制台中打印任何内容,因此我认为该事件未触发 注意:我确定选择器,因为我已经尝试了很多次了:(