Ejecute jQuery después de la actualización del método de envío WooCommerce AJAX

1 minuto de lectura

avatar de usuario
Error de tipo no detectado

Una función jQuery debe inicializarse después de que se hayan actualizado las opciones de envío, en la página de pago, a través de una llamada ajax y el evento personalizado de Woocommerce updated_shipping_method ha sido activado.

Mi fragmento de jQuery está configurado para escuchar este evento, pero no funciona según lo previsto.

jQuery( document.body ).on( 'updated_shipping_method', function(){
  // Code stuffs

  // has the function initialized after the event trigger?
  console.log('on updated_shipping_method: function fired'); 
});

he probado el updated_wc_div evento personalizado también fue en vano.

Estoy usando un método similar, casi palabra por palabra, en la página del carrito para escuchar el activador de evento personalizado para updated_cart_totals y funciona perfectamente. No estoy seguro de por qué este no es el caso de la página de pago.

Corregir evento personalizado: updated_checkout

El fragmento de código en cuestión estaba escuchando el evento personalizado de Woocommerce incorrecto.

El evento personalizado correcto para escuchar en este caso es updated_checkout.

Al seleccionar un nuevo método de envío, Woocommerce activa una llamada ajax para actualizar los totales del carrito para reflejar el precio del método de envío seleccionado, luego activa updated_checkout.

Así que si updated_checkout se escucha, en lugar de updated_shipping_methodel script se activa según lo previsto.

¿Ha sido útil esta solución?