如何从2个数组中获取总和结果并拆分为多个输入?

时间:2019-08-26 09:13:41

标签: javascript arrays

我还是JavaScript的新手,并且需要一些帮助来获得2的总和,选择每个选项具有不同的数组。另外,总和将显示在多个输入处。 (我不知道这个方法叫什么。)

我尝试过,但Google很多仍然无法正常工作,我知道缺少一些代码。 该Output1和Output2只是为了检查它们是否正在调用数组。

<select id="firstselect" onchange="total()">
<option value="0"> Choose </option>
<option value="1"> Option A </option>
<option value="2"> Option B </option>
</select>

<select id="secondselect" onchange="total()">
<option value="0"> Choose </option>
<option value="1"> Option D </option>
<option value="2"> Option E </option>
</select>

<p id="output1"></p> 
<p id="output2"></p>


<input id="inputA" disabled> INPUT A </input> 
<input id="inputB" disabled> INPUT B </input> 
<input id="inputC" disabled> INPUT C </input>
<input id="inputD" disabled> INPUT D </input> 
<input id="inputE" disabled> INPUT E </input> 
<input id="inputF" disabled> INPUT F </input>


var inputA = document.getElementById("inputA");
var inputB = document.getElementById("inputB");
var inputC = document.getElementById("inputC");
var inputD = document.getElementById("inputD");
var inputE = document.getElementById("inputE");
var inputF = document.getElementById("inputF");

//FIRSTSELECT   0=inputA, 1=inputB 2=inputC 3=inputD 4=inputE 5=inputF  
var value1 = [0,1,2,3,4,5];
var value2 = [1,2,3,4,5,6]; 

//SECONDSELECT  0=inputA, 1=inputB 2=inputC 3=inputD 4=inputE 5=inputF  
var value3 = [2,3,4,5,6,7];
var value4 = [3,4,5,6,7,8]; 

function fs1() {
var fs = document.getElementById('firstselect').value;
if(fs == 0) {fs = 0;}
if(fs == 1) {fs = value1;}
if(fs == 2) {fs = value2;}
document.getElementById("output1").innerHTML = fs ;
return fs;
inputA.value = fs[0];
inputB.value = fs[1];
inputC.value = fs[2];
inputD.value = fs[3];
inputE.value = fs[4];
inputF.value = fs[5];
}
function ss1(){
var ss = document.getElementById('secondselect').value;
if(ss == 0) {ss = 0;}
if(ss == 1) {ss = value3;}
if(ss == 2) {ss = value4;}  
document.getElementById("output2").innerHTML = ss;
return ss;
inputA.value = ss[0];
inputB.value = ss[1];
inputC.value = ss[2];
inputD.value = ss[3];
inputE.value = ss[4];
inputF.value = ss[5];
}
function total(){
var total = parseInt(fs1()) + parseInt(ss1());
}

结果应如下所示: inputA.value = fs [0] + ss [0], inputB.value = fs [1] + ss [1],直到[5]

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,希望它适合 可行!

//FIRSTSELECT   0=inputA, 1=inputB 2=inputC 3=inputD 4=inputE 5=inputF  
        var value1 = [0,1,2,3,4,5];
        var value2 = [1,2,3,4,5,6]; 

        //SECONDSELECT  0=inputA, 1=inputB 2=inputC 3=inputD 4=inputE 5=inputF  
        var value3 = [2,3,4,5,6,7];
        var value4 = [3,4,5,6,7,8]; 

        function ss(){
            var ss = document.getElementById('secondselect').value;
            if(ss == 0) {ss = 0;}
            if(ss == 1) {ss = value3;}
            if(ss == 2) {ss = value4;}  
            document.getElementById("output2").innerHTML = ss;
            return ss;
        }

        function fs1() {
            var fs = document.getElementById('firstselect').value;
            if(fs == 0) {fs = 0;}
            if(fs == 1) {fs = value1;}
            if(fs == 2) {fs = value2;}
            document.getElementById("output1").innerHTML = fs ;
            return fs;
           
        }
        
       
        
        function total(){
            
           
            debugger;
            var  fs=fs1();
            var  ss1=ss();
            var arrResult=[];
            if(fs && fs.length>0 && ss1 && ss1.length>0 ){
                for (var i = 0; i < 6; i++) {    
                    arrResult.push(+fs[i] + +ss1[i])  
                }
            }
            
            
            var inputA = document.getElementById("inputA");
            var inputB = document.getElementById("inputB");
            var inputC = document.getElementById("inputC");
            var inputD = document.getElementById("inputD");
            var inputE = document.getElementById("inputE");
            var inputF = document.getElementById("inputF");
        
            inputA.value = arrResult[0]?arrResult[0]:'';
            inputB.value = arrResult[1]?arrResult[1]:'';
            inputC.value = arrResult[2]?arrResult[2]:'';
            inputD.value = arrResult[3]?arrResult[3]:'';
            inputE.value = arrResult[4]?arrResult[4]:'';
            inputF.value = arrResult[5]?arrResult[5]:'';

        }
<select id="firstselect" onchange="total()">
            <option value="0"> Choose </option>
            <option value="1"> Option A </option>
            <option value="2"> Option B </option>
        </select>
        
        <select id="secondselect" onchange="total()">
            <option value="0"> Choose </option>
            <option value="1"> Option D </option>
            <option value="2"> Option E </option>
        </select>
        
        <p id="output1"></p> 
        <p id="output2"></p>
        
        
        <input id="inputA" disabled> INPUT A </input> 
        <input id="inputB" disabled> INPUT B </input> 
        <input id="inputC" disabled> INPUT C </input>
        <input id="inputD" disabled> INPUT D </input> 
        <input id="inputE" disabled> INPUT E </input> 
        <input id="inputF" disabled> INPUT F </input>