【发布时间】:2016-06-12 12:34:01
【问题描述】:
我有一个页面可以让学生计算他们的加权平均值。它的工作原理是学生在两个单独的表单字段中添加他们的成绩,然后他们可以根据需要添加尽可能多的表单字段行。基本计算是:(ECTS * 成绩)的总和/(ECTS 的总和)。
(注意:页面是丹麦语,所以有些语言不是英语。)
现在我用 PHP 进行计算,它们看起来像这样:
if($_POST['karakter'])
{
$karakter=$_POST['karakter'];
}
if($_POST['ects'])
{
$ects=$_POST['ects'];
$samletects = array_sum($ects);
}
for($i = 0; $i < count($karakter); $i++) {
$result[] = $karakter[$i] * $ects[$i];
}
$samletv = array_sum($result);
$fulderesultat = ($samletv/$samletects);
$afrundet = round($fulderesultat, 2);
if($_POST['karakter'])
{
echo "<h4>Dit vægtede gennemsnit er:</h4><p class='resultatet'>" . $afrundet . "</p>";
} else {
echo "<h4>Dit vægtede gennemsnit er:</h4><p class='resultatet'>?</p>";
}
但是,我希望能够实时进行计算,这样您就不会在每次进行计算时丢失您添加到表格中的成绩。
这个小提琴展示了我如何添加表单字段 http://jsfiddle.net/Chrintz/sv513b5r/26/
现在的页面: http://snittet.dk/
我的问题和疑问是我如何在 Jquery 而不是 PHP 中进行计算。我已经想出了如何获得 ECTS 数组的总和:
http://jsfiddle.net/Chrintz/omccrobs/
但我不知道如何做这部分: (ECTS * 成绩)的总和
将一个数组的数字与另一个数组的相应数字相乘,然后得到新数组的数字之和。
我基本上需要帮助的是创建两个数组,一个包含成绩,一个包含 ECTS。然后我想将相应的值相乘,从而创建第三个数组。然后我想将第三个数组的值相加,然后除以 ects 数组的相加值
【问题讨论】:
-
等级值是多少??
-
我不知道你的意思,但“karakter”是“等级”
-
Kooilnc 提供的答案有你需要的一切,并且可读性更好(+1-ed),但只是为了好玩:在后台有以下小提琴:jsfiddle.net/omccrobs/2
标签: javascript jquery arrays forms multiplication