在 JS 中递增值

博格巴

我正在尝试增加变量value当我选中一个框时,该函数会cal运行并附加advert.numbers每个选中的项目。如何增加advert.numbers变量中的value

在我下面的代码中,我不断收到NAN.

如何增加值并将值传递给输入框 id="values

<input type="text" class="form-control" id="values" placeholder="values" name="values">
<script type="text/javascript">
var values;
function cal(item) { 
  var advert = JSON.parse(item.dataset.name);

  if(item.checked == true) {
    $('.panel').append(
      '<div class="container">'
        + '<p class="points" data-points="' + advert.numbers + '">'
          + advert.numbers
        + '</p>'
      + '</div>'
    );

    values += advert.numbers;
    alert(values);   
  }
}
</script>
TJ克劳德

这是因为你从不给出values初始值,所以它从默认初始值开始,即undefined. undefined加上任何数字 is NaN,因为undefined不能隐式强制转换为数字。

刚开始var values = 0;而不是仅仅var values;


我还建议避免像这样在全局范围内使用您的代码。全局命名空间非常拥挤(实际上,var values由于带有ids 的元素的隐式全局变量的恐怖,您正在隐藏已经存在的全局变量)。考虑将所有代码包装在一个作用域函数中:

(function() {
    // ...your code here...
})();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章