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

Respuestas a la pregunta(1)

Su respuesta a la pregunta