Javascript 如何从两个不同的函数中添加两个值并在HTML中显示?

Javascript 如何从两个不同的函数中添加两个值并在HTML中显示?,javascript,html,Javascript,Html,我有两个Javascript函数,它们在最后计算一个值并以HTML显示。我想在每个函数的末尾添加两个值,并以HTML的形式显示它,就像我在标记中显示每个函数的其他两个值一样 我尝试返回值,但仍然无法解决此问题 函数1(){ var Aa1=document.getElementById('Aa1'); var Ab1=document.getElementById('Ab1'); var Ac1=document.getElementById('Ac1'); var Aa1Val=Aa1.op

我有两个Javascript函数,它们在最后计算一个值并以HTML显示。我想在每个函数的末尾添加两个值,并以HTML的形式显示它,就像我在标记中显示每个函数的其他两个值一样

我尝试返回值,但仍然无法解决此问题

函数1(){
var Aa1=document.getElementById('Aa1');
var Ab1=document.getElementById('Ab1');
var Ac1=document.getElementById('Ac1');
var Aa1Val=Aa1.options[Aa1.selectedIndex].value;
var Ab1Val=Ab1.options[Ab1.selectedIndex].value;
var Ac1Val=Ac1.options[Ac1.selectedIndex].value;
getElementById(“A1”).innerHTML=parseInt(Aa1Val)+parseInt(Ab1Val)+parseInt(Ac1Val);
}
函数2(){
var Aa2=document.getElementById('Aa2');
var Ab2=document.getElementById('Ab2');
var Ac2=document.getElementById('Ac2');
var Ad2=document.getElementById('Ad2');
var Aa2Val=Aa2.options[Aa2.selectedIndex].value;
var Ab2Val=Ab2.options[Ab2.selectedIndex].value;
var Ac2Val=Ac2.options[Ac2.selectedIndex].value;
var Ad2Val=Ad2.options[Ad2.selectedIndex].value;
getElementById(“A2”).innerHTML=parseInt(Aa2Val)+parseInt(Ab2Val)+parseInt(Ac2Val)+parseInt(Ad2Val);
}

A.管理原则、功能和质量保证
A.1成功的维护功能是建立在许多行业多年来证明的原则和概念的基础上的。
价值
授予
a) 维护战略计划记录在案,并与工厂的战略业务计划保持一致。
1.
0
1.
b) 维护任务声明符合最佳实践理念,并张贴在所有电厂人员可以查看该声明的地方。
1.
0
1.
c) 所有维修人员都知道并理解维修任务说明。
2.
0
2.
小计
4.
A.2经营所有权的概念是设施理念的基础。所有组织单位都有责任保护所有资产(工艺、设备和设施)。维护/生产合作关系显而易见。相互理解与合作非常好。重要程序,如工单系统,应统一遵守。
价值
授予
a) 生产操作人员培训计划已编写并运行。
2.
0
2.
b) 跟踪生产部门完成的PPM计划的一部分;至少每月报告一次合规情况。
2.
0
2.
c) 生产操作员执行PM/PdM计划的一部分。
2.
0
2.
d) 生产操作员有效地执行常规设置、转换和设备调整。
2.
0
2.
小计
8.

现在要做的是函数实际将值写入DOM。您可以更改函数以返回一个数字,然后将该值写入DOM,或者执行其他需要执行的操作

function display(elementid, value) {
    document.getElementById(elementid).innerHTML = value;
}

function calcA1() {
    var Aa1 = document.getElementById('Aa1');
    var Ab1 = document.getElementById('Ab1');
    var Ac1 = document.getElementById('Ac1');

    var Aa1Val = Aa1.options[Aa1.selectedIndex].value;
    var Ab1Val = Ab1.options[Ab1.selectedIndex].value;
    var Ac1Val = Ac1.options[Ac1.selectedIndex].value;

    return parseInt(Aa1Val) + parseInt(Ab1Val) + parseInt(Ac1Val);
}

function calcA2() {
    var Aa2 = document.getElementById('Aa2');
    var Ab2 = document.getElementById('Ab2');
    var Ac2 = document.getElementById('Ac2');
    var Ad2 = document.getElementById('Ad2');

    var Aa2Val = Aa2.options[Aa2.selectedIndex].value;
    var Ab2Val = Ab2.options[Ab2.selectedIndex].value;
    var Ac2Val = Ac2.options[Ac2.selectedIndex].value;
    var Ad2Val = Ad2.options[Ad2.selectedIndex].value;

    return parseInt(Aa2Val) + parseInt(Ab2Val) + parseInt(Ac2Val) + parseInt(Ad2Val);
}

function calcA3() {
    return calcA1() + calcA2();
}
然后,您只需做一点小更改即可处理事件:

<td align="center">
  <select class="select" onChange="a1ChangeHandler()" id="Aa1">
    <option value="0">0</option>
    <option value="1">1</option>
  </select>
</td>

Protip:。

事实上,我认为您应该重新编写代码—如果您对选择器多加考虑,那么您可以用更短的代码来解决问题

函数calcA1R(){
var Aa1=document.getElementById('Aa1');
var Ab1=document.getElementById('Ab1');
var Ac1=document.getElementById('Ac1');
var Aa1Val=Aa1.options[Aa1.selectedIndex].value;
var Ab1Val=Ab1.options[Ab1.selectedIndex].value;
var Ac1Val=Ac1.options[Ac1.selectedIndex].value;
//返回值的总和
返回[parseInt(Aa1Val),parseInt(Ab1Val),parseInt(Ac1Val)]。减少((a,c)=>a+c,0)
}
函数1(){
//任何更改都可以运行displaySum()
displaySum()
document.getElementById(“A1”).innerHTML=Calc1R();
}
函数2R(){
var Aa2=document.getElementById('Aa2');
var Ab2=document.getElementById('Ab2');
var Ac2=document.getElementById('Ac2');
var Ad2=document.getElementById('Ad2');
var Aa2Val=Aa2.options[Aa2.selectedIndex].value;
var Ab2Val=Ab2.options[Ab2.selectedIndex].value;
var Ac2Val=Ac2.options[Ac2.selectedIndex].value;
var Ad2Val=Ad2.options[Ad2.selectedIndex].value;
//返回值的总和
返回[parseInt(Aa2Val)、parseInt(Ab2Val)、parseInt(Ac2Val)、parseInt(Ad2Val)]。reduce((a,c)=>a+c,0)
}
函数2(){
//任何更改都可以运行displaySum()
displaySum()
document.getElementById(“A2”).innerHTML=Calc2R()
}
函数displaySum(){
document.getElementById('total')。textContent=calcSum()
}
函数calcSum(){
返回calcA1R()+calcA2R()
}

A.管理原则、功能和质量保证
A.1成功的维护功能是建立在许多行业多年来证明的原则和概念的基础上的。
价值
授予
a) 维护战略计划记录在案,并与工厂的战略业务计划保持一致。
1.
0
1.
b) 维护任务声明符合最佳实践理念,并张贴在所有电厂人员可以查看该声明的地方。
1.
0
1.
c) 所有维修人员都知道并理解维修任务说明。
2.
0
2.
小计
4.
A.2经营权的概念
function a1ChangeHandler() {
  display("A1", calcA1());
  display("A3", calcA3());
}
function calcA1() {
var Aa1 = parseInt(document.getElementById('Aa1').value);
var Ab1 = parseInt(document.getElementById('Ab1').value);
var Ac1 = parseInt(document.getElementById('Ac1').value);

document.getElementById("A1").innerHTML = Aa1 + Ab1 + Ac1;
}

function calcA2() {
var Aa2 = parseInt(document.getElementById('Aa2').value);
var Ab2 = parseInt(document.getElementById('Ab2').value);
var Ac2 = parseInt(document.getElementById('Ac2').value);
var Ad2 = parseInt(document.getElementById('Ad2').value);

document.getElementById("A2").innerHTML = Aa2 + Ab2 + Ac2 + Ad2;
}