Cálculo de precios basado en dimensiones en la página de producto único de WooCommerce
Residencia en" Obtenga el precio de variación seleccionado en jQuery en productos variables de Woocommerce" código de respuesta,
en mi código a continuación, tengo un problema con el cálculo del precio de un producto variable de WooCommerce.
El precio se multiplica por 10 o 1000, dependiendo de la opción seleccionada en un menú desplegable, que no se supone que suceda y no sé por qué sucede.
Aquí está mi código:
<script>
jQuery(function($) {
var jsonData = <?php echo json_encode($variations_data); ?>,
inputVID = 'input.variation_id';
$('input').change( function(){
if( '' != $(inputVID).val() ) {
var vid = $(inputVID).val(), // VARIATION ID
length = $('#cfwc-title-field').val(), // LENGTH
diameter = $('#diameter').val(), // DIAMETER
ene_enden = $('#id_dropdown_one_end').find('option:selected').attr("value_one_end"),
vprice = ''; // Initilizing
// Loop through variation IDs / Prices pairs
$.each( jsonData, function( index, price ) {
if( index == $(inputVID).val() ) {
vprice = price; // The right variation price
}
});
var rope_price = (length*vprice) + ene_enden;
if (rope_price != 0){
$('.price').html(rope_price+',-');
}
alert('variation Id: '+vid+' || Lengde: '+length+' || Diameter: '+diameter+' || Variantpris: '+vprice+ ' || Rope price: '+rope_price+' || ene_enden = '+ene_enden);
}
});
});
</script>
Por alguna razón, rope_price se multiplica por 10 o se concatena con 0 cuando la opción seleccionada para 'Enden av tauet' es 'Ingenting' (su valor es 0). Cuando cambio la opción seleccionada a cualquiera de los demás rope_price se multiplica por 1000 o se concatena con 00. No sé por qué sucede esto. ¿Algunas ideas