JavaScript:if-else语句太多?

JavaScript:if-else语句太多?,javascript,if-statement,Javascript,If Statement,我在JS方面遇到了问题。我试着按类型列出三份配料表(酿造药剂),它们都是标签中的复选框 你应该选择(检查)三个列表中的每一个元素来调制药剂。如果您选择了正确的配料并按下“Brew potion”按钮,您就得到了一种确定的药剂,如果您选择了三种不匹配的配料,则按下“Brew potion”按钮后,页面底部会显示一个,显示“这次好像没用!” 在JavaScript中,我为三个列表中的每一个使用了一个数组,为每个列表中的每个元素使用document.getElementById。然后,我使用了一个if

我在JS方面遇到了问题。我试着按类型列出三份配料表(酿造药剂),它们都是标签中的复选框

你应该选择(检查)三个列表中的每一个元素来调制药剂。如果您选择了正确的配料并按下“Brew potion”按钮,您就得到了一种确定的药剂,如果您选择了三种不匹配的配料,则按下“Brew potion”按钮后,页面底部会显示一个,显示“这次好像没用!”

在JavaScript中,我为三个列表中的每一个使用了一个数组,为每个列表中的每个元素使用document.getElementById。然后,我使用了一个if和几个else-if语句来构建公式,最后是一个else语句,以防选中了错误的复选框,并且所选成分中没有药水

一切都很好,直到我有三个以上的其他如果stations!只有if和前三个*else if*起作用,但其余的和else都不起作用,当我只有三个else if时,它们起作用很好。除了第一个if和前三个else if语句之外,它不会在末尾显示消息

我特意缩短了代码,留下了一些成分和“配方”,以免让您不知所措。我不得不说,有时几个配方使用相同的成分。对于使用相同“成分”的配方,我尝试过更改数字或删除else if,但也不起作用

我已经修改了几次代码,但没有发现任何错误。这真让我困惑

函数pociones(){
var plantas=[document.getElementById(“acacia”),document.getElementById(“acitedecoo”),//0-1
document.getElementById(“acitedeoliva”),document.getElementById(“algafila”),//2-3
document.getElementById(“agrimonia”),document.getElementById(“asafetida”),//4-5
document.getElementById(“asaro”),document.getElementById(“azafran”),//6-7
document.getElementById(“bellota”),document.getElementById(“cabezadetortuga”),//8-9
document.getElementById(“金盏花”),document.getElementById(“小豆蔻”),//10-11
document.getElementById(“clavo”),document.getElementById(“consuelda”),//12-13
document.getElementById(“digitalis”),document.getElementById(“escrofularia”),//14-15
document.getElementById(“gomapersa”),document.getElementById(“hinojo”),//16-17
document.getElementById(“junipero”),document.getElementById(“polemonium”),//18-19
文件.getElementById(“stachys”)
]; //20
var partes=[document.getElementById(“大脑数据”),document.getElementById(“大脑数据”),//0-1
document.getElementById(“大脑数据基”),document.getElementById(“大脑数据基”),//2-3
document.getElementById(“corazondeleon”),document.getElementById(“corazondimotauro”),//4-5
document.getElementById(“corazondepegaso”),document.getElementById(“胞浆”),//6-7
document.getElementById(“escamadedragondeoro”),document.getElementById(“Esenciadefuegofato”),//8-9
document.getElementById(“esenciadeelemental”),document.getElementById(“esporasdehongochillon”),//10-11
document.getElementById(“腺体动物”),document.getElementById(“腺体动物”),//12-13
document.getElementById(“higadodeluciogigante”),document.getElementById(“nubedevampiro”),//14-15
document.getElementById(“pieldelicantropo”),document.getElementById(“pieldesucubo”),//16-17
document.getElementById(“plumadehipogrifo”),document.getElementById(“Sangreedagon”),//18-19
document.getElementById(“SangredeHomberata”),document.getElementById(“sangredeogromago”),//20-21
document.getElementById(“SangredinFa”),document.getElementById(“sangredeogro”),//22-23
document.getElementById(“Sangredtroll”),document.getElementById(“sudordegigante”),//24-25
document.getElementById(“talamohumano”)
]; //26
var gemas=[document.getElementById(“alejandrita”),document.getElementById(“azabache”),//0-1
document.getElementById(“coral”)、document.getElementById(“cornalia”)、//2-3
document.getElementById(“crisoprasa”),document.getElementById(“diamante”),//4-5
document.getElementById(“hematita”),document.getElementById(“lapislazuli”),//6-7
document.getElementById(“malaquita”),document.getElementById(“onix”),//8-9
document.getElementById(“piedradeluna”),document.getElementById(“rubi”),//10-11
document.getElementById(“蛇形”),document.getElementById(“turquesa”),//12-13
document.getElementById(“zafiro”),document.getElementById(“锆石”)
]; //14-15
var texto;
如果(足底[0]。选中(&P)[17]。选中(&P)[10]。选中){
texto=““有没有一个警察!”;
}else if(跖骨[1]。选中(&P)[0]。选中(&P)[14]。选中){
texto=““他有一个女人!”;
}else if(跖骨[2]。选中(&P)[14]。选中(&P)[8]。选中){
texto=““hecho aceite resbaladizo!”;
}else if(跖骨[3]。选中(&P)[19]。选中(&P)[11]。选中){
texto=““他有一个很好的职业!”;
}else if(跖骨[4]。选中(&P)[25]。选中(&P)[7]。选中){
texto=““你有没有一个伟大的未来!”;
}else if(跖骨[4]。选中(&P)[21]。选中(&P)[6]。选中){
texto=““有没有媒体?”;
}else if(跖骨[5]。选中(&P)[4]。选中(&P)[6]。选中){
texto=““有没有英雄之路!”;
}else if(跖骨[6]。选中(&P)[20]。选中(&P)[4]。选中){
texto=““他有没有被解雇?”;
}else if(跖骨[7]。选中(&P)[8]。选中(&P)[0]。选中){
texto=““你有没有一个好主意!”;
}else if(跖骨[8]。选中(&P)[13]。选中(&P)[12]。选中
  <input type="checkbox" id="algáfila">Algáfila<br>

  document.getElementById("algafila")
  var gemas = [document.getElementById("alejandrita"), document.getElementById("azabache"), //0-1
document.getElementById("coral"), document.getElementById("cornalia"), //2-3
document.getElementById("crisoprasa"), document.getElementById("diamante"), //4-5
document.getElementById("hematita"), document.getElementById("lapislazuli"), //6-7
document.getElementById("malaquita"), document.getElementById("onix"), //8-9
document.getElementById("piedradeluna"), document.getElementById("rubi"), //10-11
document.getElementById("serpentina"), document.getElementById("turquesa"), //12-13
document.getElementById("zafiro"), document.getElementById("zircon") 
]; //14-15
  <input type="checkbox" id="alejandrita">Alejandrita<br>
  <input type="checkbox" id="azabache">Azabache<br>
  <input type="checkbox" id="coral">Coral<br>
  <input type="checkbox" id="cornalia">Cornalia<br>
  <input type="checkbox" id="crisoprasa">Crisoprasa<br>
var potions = {
 "acacia cerebrodedemonio alejandrita": "¡Has hecho una poción de polimorfar!"
 }

var potionToFind = plantas + " " + partes + " " + gemas
 potions[potionToFind] || return "El brebaje preparado no ha dado resultado..."
var a=new Array();
a.push("0,17,10,¡Has hecho una poción de polimorfar!");
a.push("1,0,14,¡Has hecho aceite etéreo!");
................
for (var i=0;i<a.length;i++)
{
  temp=a[i].split(",");
  if (plantas[temp[0]].checked && partes[temp[1]].checked && gemas[temp[2]].checked)
    { 
      texto =temp[3];
      break;
    }
}