0

我有一个功能,目前可以将收到的折扣加起来。我想将输入的总和更改为每个输入的平均值

function calculateAverageDiscount() {
    var avediscount = 0;
    $("table.authors-list").find('input[name^="discount"]').each(function () {
        avediscount += +$(this).val();
    });
    $("#avediscount").text(avediscount.toFixed(2));
}

任何帮助表示赞赏。

4

2 回答 2

2

首先获取您的元素列表:

var $disc = $("table.authors-list").find('input[name^="discount"]');

然后取它的长度:

var n = $disc.length;

然后照原样取总和,但使用先前获得的列表,这样您就不会重复自己

$disc.each(function() {
    ...
});

其余的应该很明显...... ;-)

于 2013-04-02T12:22:36.827 回答
1

您需要获取元素的数量,然后将总和除以该数字。

var avediscount = 0;
var length = $("table.authors-list").find('input[name^="discount"]').each(function () {
    avediscount += +$(this).val();
}).length;
$("#avediscount").text(avediscount.toFixed(2)/length);
于 2013-04-02T12:27:43.923 回答