J'ai ajouté un nouveau champ de date sur la page de paiement. J'aimerais créer un calcul des frais de livraison en fonction de la date.
Le champ de date a la classe ' update_totals_on_change '. Lorsque vous modifiez ceci manuellement, les totaux sont recalculés comme prévu. Malheureusement, lorsque j'utilise le datepicker jQuery sur ce champ, les totaux ne sont pas mis à jour.
À mon avis, je devrais déclencher la méthode update_checkout dans le rappel du sélecteur de date. Dans le script checkout.js de woocommerce, il y a un input_changed (); qui déclenche le $ ('body') .trigger ('update_checkout'); . Mais je ne peux pas les appeler directement à partir du rappel du datepicker.
jQuery("#delivery_date").datepicker({
minDate: new Date(),
firstDay: 1,
onSelect: function () {
$( 'body' ).trigger( 'update_checkout' );
}
});
Comment puis-je utiliser la fonctionnalité update_totals_on_change avec datepicker?
Modifier:
Je l'ai essayé en déclenchant la fonction change () mais le sélecteur de date cesse de fonctionner toutes les fois où une fonction de rappel a été appelée.
jQuery("#delivery_date").datepicker({
minDate: new Date(),
firstDay: 1,
onSelect: function () {
$(this).change();
}
});
Essayez d'encapsuler le déclencheur dans un rappel autonome.
jQuery(function() {
jQuery( "#datetimepicker" ).datetimepicker({
onClose:function(ct,$i){
my_callback();
}
});
function my_callback() {
jQuery( 'body' ).trigger( 'update_checkout' );
}
});