-2

我的页面中有 160 个输入。我想添加每 8 个输入并将其输出到其他地方。而不是手动使用

var total1 = inputVals[0] + inputVals[1] + inputVals[2] + inputVals[3] + inputVals[4] + inputVals[5] + inputVals[6] + inputVals[7] + inputVals[8];

我想要一个函数,您可以使用它指定开始和结束索引,如 addarray(9, 17) ,它将添加其间的所有值并返回它。我更喜欢该函数在 javascript 中,但 jquery 可以。

4

5 回答 5

1

尝试

function calcTotal(index) {
    var total = 0;
    for (var i = 0; i < 9; i++) {
        total += inputVals[index + i];
    }
    return total;
}
var total1 = calcTotal(0);

或者

function calcRangeTotal(index, count) {
    var total = 0;
    for (var i = 0; i < count; i++) {
        total += inputVals[index + i];
    }
    return total;
}
var total1 = calcRangeTotal(0, 9);
于 2013-04-18T11:41:49.040 回答
1

假设您将<input>元素定义为:

<input type="text" class="myInput" />
<input type="text" class="myInput" />
<input type="text" class="myInput" />
...

您可以在 jQuery 的帮助下创建一个完成这项工作的方法:

function add(start, end) {
    var total = 0;
    $(".myInput").slice(start, end).each(function() {
        total += +this.value;
    });
    return total;
}

纯 JavaScript 中的相同方法如下所示:

function add(start, end) {
    var total = 0,
        inputs = document.getElementsByClassName("myInput");

    for (var i = start; i < Math.min(end, inputs.length); i++) [
        total += +inputs[i].value;
    });
    return total;
}
于 2013-04-18T11:43:48.257 回答
1

看这个:

var calculate = function() {
    var sum=0;
    $("input").each(function(index,element){
        sum+=Number($(element).val());
    });
    alert(sum);
};

$(function(){
    $("button").on("click",calculate);
});

是 jsFiddle。

于 2013-04-18T11:49:58.633 回答
0
var sum = 0;

function caluculate(firstIndex,secondIndex){

   for(var i=one;i<secondIndex;i+=8)
     sum=parseInt(sum+inputVals[i]);   

}
于 2013-04-18T11:42:32.663 回答
0
function addarray($start,$end) {
   var total = 0;
   for(var i = $start; i < $end; i++)
       total += inputVals[i];
   return total;
}

var myTotal = addarray(9,17);
于 2013-04-18T11:43:54.657 回答