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