尝试从不同的javascript数组添加两个值

尝试从不同的javascript数组添加两个值,javascript,math,Javascript,Math,我从这些脚本中导出两个不同的值 脚本1 脚本2 但是,我想从这两个文件中提取数据,并在下面的HTML中显示结果 这里有一个例子来展示我到目前为止所做的一切。。。我不能转移超过33个选修学分,总共不超过72个学分。我已经很好地安排了脚本,但同样,需要将它们结合起来,以吐出一个值 首先想到的是将每个函数的结果存储在一个隐藏的div中,甚至显示出来,这样用户就可以看到每个选项的权重。然后,在为新选择计算了新的信用总额之后,只需添加两列即可更新总值 这将是一个很小的更改,只需更改当前值的插入位置,并在每

我从这些脚本中导出两个不同的值

脚本1

脚本2

但是,我想从这两个文件中提取数据,并在下面的HTML中显示结果


这里有一个例子来展示我到目前为止所做的一切。。。我不能转移超过33个选修学分,总共不超过72个学分。我已经很好地安排了脚本,但同样,需要将它们结合起来,以吐出一个值

首先想到的是将每个函数的结果存储在一个隐藏的div中,甚至显示出来,这样用户就可以看到每个选项的权重。然后,在为新选择计算了新的信用总额之后,只需添加两列即可更新总值

这将是一个很小的更改,只需更改当前值的插入位置,并在每个更改回调中添加一行或两行,该更改回调将拉入这两个值,解析它们,添加它们,然后更新总div

我曾考虑过全部使用div的前一个值,但我遇到的问题是,您不确定前一个值是多少,因此在添加新选项之前很难将div归零,因为选项不是累积的。一个选择框只能对最终值作出一次贡献

编辑:

所以我摆弄了摆弄,使用了状态对象方法:


这很粗糙,但可能比我上面的漫谈更有意义。

我考虑过,但不确定这是否是最好的选择。我要试一试。欢迎来到Stack!另一种选择是引入一个保存应用程序状态的全局变量。类似于YOURAPPNAME={}。通过这种方式,您可以在两个函数之间共享状态。我只是倾向于HTML解决方案,因为我认为它可以改善用户体验。。。在这里,用户体验比其他任何东西都重要。我将从HTML方式开始。你从哪里得到“非选修课”这个术语的?我试着把它完全按照你的方式放在我的代码中,但没有成功。你有没有添加一些我可能没有意识到的东西?我还注意到你没有解释选修课总数不能超过33的事实。选修课和非选修课之间的总学分不得超过72。
//JS for Potential Gen Ed TOC
$(function($) {
    $('#CourseMenu select').change(function() {
        var sum = 0;
        $('#CourseMenu select').each(function(idx, elm) {
            sum += parseFloat(elm.value, 10);
        });

     $('#total_potential').html(Math.min(sum,72).toFixed(2));
    });
});
//JS for Potential Gen Ed TOC from Electives only
$(function($) {
    $('#CourseMenu_Electives select').change(function() {
        var sum = 0;
        $('#CourseMenu_Electives select').each(function(idx, elm) {
            sum += parseFloat(elm.value, 10);
        });

     $('#total_potential').html(Math.min(sum,33).toFixed(2));
    });
});
   <p><fieldset id="PotentialTOC">
      <legend style="font-weight: bold; font-size: 140%;">Potential TOC Evaluation Results</legend>

      <div id="Results" style="text-align:left; font-family: 'Century Gothic', Gadget, sans-serif; font-size:14px;"><br />
        <div>
          <h2><span id="span"></span>
        Potential Gen Ed TOC:&nbsp;&nbsp;<span id="total_potential"></span>
        <br />
        Potential Money Saved: $<span id="total_money"></span>
        <br />
        Potential Class Time Saved:&nbsp;&nbsp;<span id="total_time"></span> weeks
</fieldset></p>
COURSE['Non-electives'] = Math.min(sum, 72).toFixed(2);
var total = (parseFloat(COURSE['Non-electives'], 10) || 0) + (parseFloat(COURSE['Electives'], 10) || 0)
$('#total_potential').html(total);
});