增加JS中的值

时间:2017-11-27 12:29:14

标签: javascript jquery

我正在尝试增加变量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>

1 个答案:

答案 0 :(得分:5)

这是因为你永远不会给values一个初始值,所以它从默认的初始值开始,即undefinedundefined加上任何数字都是NaN,因为undefined无法隐式强制转换为数字。

只需从var values = 0;开始,而不仅仅是var values;

我还建议避免将代码放在全球范围内。全局命名空间非常拥挤(事实上,由于var values s元素的隐式全局变量的恐怖,你的id正在遮蔽已经存在的全局。考虑将所有代码包装在作用域函数中:

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