Jquery变量在更改时使用旧值

时间:2017-06-29 12:18:58

标签: jquery variables

我试图计算两个变量的值。 Val1需要与Val2相乘。 Val1根据其他用户输入进行更改,并始终加载到' .value'。第一次计算完成就可以了。但是,当Val1在页面上更改时,它仍然会使用之前的旧值,而不是检查Val1的值(这是在' .woocommerce-Price-amount'内)。它仅使用第一次加载到Val1中的数据。

如何确保jquery每次都检查Val1的值" input.qty'变化?

   routes.MapRoute(
            name: "Overrided",
            url: "{controller}/{action}/{val}",
            defaults: new { controller = "Home", action = "Index", val= UrlParameter.Optional }
        );

1 个答案:

答案 0 :(得分:1)

我认为这就是你所需要的。为简单起见,我添加了一个新类figures,以便简化计算

$( document ).ready(function() {
   $( "input.qty" ).change(function() {
   debugger
        var val1 =  $('.figures').html();
        var val2 = $('input.qty').val();


       var val1n = parseFloat(val1);
       var val2n = parseFloat(val2);

       var total = (val1n * 1) * (val2n * 1);

       $('.multTotal').text(total);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">€</span><span class='figures'>93.20</span></span>
<div class="multTotal"></div>

<input type='text' class='qty' />

只需用数字填充输入值,然后在空白区域外单击以查看结果。