为什么获胜't我的输入值总和

Why won't my inputs value sum?

本文关键字:输入 我的 获胜 为什么      更新时间:2024-05-02

我试图对我从id中获得的值进行求和,但它一直将第二个值附加到第一个值,而不是按照应该的方式进行求和。

示例23+25=2325

这是我的代码:

这是我用来求和的代码。

        $('input').blur(function() {
            for (var i=1; i<=value; i++) {
              var one = document.getElementById("veb_blocos-"+i).value; 
              var two = document.getElementById("veb_pellet-"+i).value;
              var sum1 = one+two;
              document.getElementById("total1-"+i).value = sum1; 
           };
        });

试试这个:

var one = parseInt(document.getElementById("veb_blocos-"+i).value, 10); 
var two = parseInt(document.getElementById("veb_pellet-"+i).value, 10);

因为输入的值是字符串。将其投射到内部

$('input').blur(function() {
    for (var i=1; i<=value; i++) {
      var one = document.getElementById("veb_blocos-"+i).value; 
      var two = document.getElementById("veb_pellet-"+i).value;
      var sum1 = parseInt(one,10)+parseInt(two,10);
      document.getElementById("total1-"+i).value = sum1; 
   };
});

这里是最安全的解决方案(假设存在请求的DOM节点):

$('input').blur(function () {
    var i = 0,
        one = 0,
        two = 0;
    for (i = 1; i <= value; i += 1) {
        one = Number(document.getElementById("veb_blocos-" + i).value);
        two = Number(document.getElementById("veb_pellet-" + i).value);
        if (isNaN(one)) {
            one = 0;
        }
        if (isNaN(two)) {
            two = 0;
        }
        document.getElementById("total1-" + i).value = one + two;
    };
});

尝试:

$('input').blur(function() {
            for (var i=1; i<=value; i++) {
              var one = parseInt(document.getElementById("veb_blocos-"+i).value); 
              var two = parseInt(document.getElementById("veb_pellet-"+i).value);
              var sum1 = one+two;
              document.getElementById("total1-"+i).value = sum1; 
           };
        });

这是因为您的值是字符串数据类型,而不是数字类型。您需要首先解析它们。

$('input').blur(function() {
            for (var i=1; i<=value; i++) {
              var one = parseFloat(document.getElementById("veb_blocos-"+i).value); 
              var two = parseFloat(document.getElementById("veb_pellet-"+i).value);
              var sum1 = one+two;
              document.getElementById("total1-"+i).value = sum1; 
           };
        });