Queridos todos,
Estoy tratando de agregar eventListeners a mi carrito de WordPress/WooCommerce para que cambie el precio en el cambio de entrada. Sencillo en teoría.
La página web (ponga el artículo en el carrito y vaya al carrito): www.dickenbergh.com
Mi código de prueba actual:
<script type="text/javascript">
document.getElementsByTagName('input')[0].addEventListener('change', updatePricing);
function updatePricing(){
document.getElementsByTagName('bdi')[2].innerHTML = '999 changed';
}
</script>
Problema:
El cambio solo ocurre al escribir en el campo de entrada. No cuando se cambia con los botones - y + a su alrededor.
Pregunta:
¿Por qué solo cambia al cambiar la entrada del campo al escribir? ¿No debería el evento "cambiar" registrar también los cambios de botón en las flechas - y +?
He comprobado la referencia que proporcionaste. Y en https://dickenbergh.com/cart/ el precio total cambia cuando hacemos clic en actualizar, no importa cambiar el valor con el botón +.- o escribiendo manualmente.
Entonces, el problema que describiste está funcionando bien, creo. Pero le aconsejo que use ajax para actualizar automáticamente el precio total para que no necesite ese botón de actualización para cambiar el precio total.
O simplemente puede agregar la función de actualización a ese detector de cambios para que el precio total se actualice automáticamente sin la necesidad de ese botón.
Gracias.