jQuery Math-没有空字段的计算

时间:2018-11-08 22:28:52

标签: javascript jquery

我有一个简单的语法来获取文本区域的总和。效果很好,但是如果该字段中没有任何值,那么该计算就不会运行。

如何在不使内容实际为0的情况下将默认值设为0?就像,我不希望字段加载中已经在框中等待的0-我只希望公式不担心空字段。

这是jQuery:

jQuery(document).ready(function(){

  jQuery(".button1").click(function(){

  var set1 = function() {
  var calc1 = 0;
  $('.calc1').each( function(index,item) {
    calc1 += parseInt(jQuery(item).val());
  });
  $('.result1').html(calc1);
}
set1();

  });

});

如果您有更好的主意,可以在此处查看codepen:https://codepen.io/JTBennett/pen/NENMdP

我对此表示感谢!我知道这可能是一个愚蠢的错误,但是我尝试了一些不同的操作,但是还没有到位。

3 个答案:

答案 0 :(得分:5)

尝试parseInt(jQuery(item).val() || 0)。如果第一个为|| operator,则falsey将返回第二个值。因此,如果该值为空,它将尝试解析为“ 0”,它将成功。

答案 1 :(得分:1)

只需创建一个if语句,查找一个空字段,然后将其替换为0。

  $('.calc1').each( function(index,item) {
    var itemValue = jQuery(item).val();
    if (itemValue === "") {itemValue = 0;}
    calc1 += parseInt(itemValue);
  });

答案 2 :(得分:0)

您可以使用以下内容替换行:

calc1 += parseInt(jQuery(item).val() || 0);