我需要编写代码,根据以下公式计算重量和等级输入的结果
Weighted grade =
= w1×g1+ w2×g2+ w3×g3
= 30%×80+ 50%×90+ 20%×72 = 83.4
以下是我当前的代码
function total(){
var grade = 0;
var weight = 0;
$("[name='grade']").each(function() {
grade += Number(this.value);
});
$("[name='weight']").each(function() {
weight += Number(this.value);
});
$(".results").text((weight * grade + weight * grade)/weight);
}
$("[name='grade'],[name='weight']").on("keyup", total);
total();
请检查下面的行,让我知道如果我需要做任何编辑,以达到正确的结果
$(".results").text((weight * grade + weight * grade)/weight);
1条答案
按热度按时间lmyy7pcs1#
从这个问题中,我们不太清楚你是否在处理基于 * 一组公共权重 * 的 * 多个等级 *(和 * 结果 *),但以下解决方案是基于这个假设的:
函数
calc()
计算表中发生输入的行的最终加权等级(由this
标识)。它由每个tbody tr
元素的“输入”事件触发。每当其中一个权重发生变化时,* 所有 * 分级行都需要重新计算。这是通过在所有trs
上执行each
-循环来实现的(jQuery对象)。通过使用Function.prototype.call()
方法将每个tr
分配给calc()
函数的this
。