jQuery - 在.each()sum循环中添加导致问题

时间:2014-10-16 02:51:45

标签: jquery

我正在尝试在求和循环中编写一个方程式,并且通过使用加号#{1}}一切正常,我假设这会混淆求和循环的递增。对于等式,该值应为+,但实际输出为56的字符串。

JFIDDLE

代码如下所示:

095959595

1 个答案:

答案 0 :(得分:4)

问题是baseCost,它是字符串值,因此字符串连接已完成

$(function() {
  var feature = $('.product');
  var supplier = $('#supplier').val();

  var costCurve = $('#productCostCurve').val();
    //use a unary plus or parseFloat to convert this to a numeric value
  var baseCost = +$('#baseComponentCost').val();

  var unitCost = 0;

  $.each(feature, function() {
    unitCost += (costCurve * parseFloat($(this).val()) * baseCost * supplier) + baseCost;
  });

  $('#product-cost').html(unitCost);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="productCostCurve" value="0.5" />
<input type="text" id="baseComponentCost" value="5" />
<input type="text" class="product" value="4" />
<input type="text" class="product" value="4" />
<input type="text" class="product" value="4" />
<input type="text" class="product" value="4" />
<input type="text" id="supplier" value="0.9" />
<div id="product-cost"></div>