在JavaScript中有多个IF和ELSE IF

Ice*_*gon 4 javascript arrays if-statement push radio-button

所以被推到这个数组的依赖于几个无线电盒.我有这个标准和轮椅座位:

if(document.getElementById('standardseat').checked) {
  //Standard seat is checked
seatsArray.push(e.posX, e.posY);
}
else if(document.getElementById('wheelchairseat').checked) {
  //Wheelchair seat is checked
seatsArray.push("Wheelchair " + e.posX, e.posY);
}
Run Code Online (Sandbox Code Playgroud)

这是等效的表单代码:

<input id="standardseat" type="radio" name="seat" value="standard" /> Standard seat
<input id="wheelchairseat" type="radio" name="seat" value="wheelchair" /> Wheelchair seat
Run Code Online (Sandbox Code Playgroud)

但我想增加一些与标准/轮椅座位分开的收音机盒:

<input id="backnave" type="radio" name="area" value="backnave" /> Back Nave
<input id="frontnave" type="radio" name="area" value="frontnave" /> Front nave
<input id="middlenave" type="radio" name="area" value="middlenave" /> Middle nave
Run Code Online (Sandbox Code Playgroud)

我希望推动也包括这一点.为了解释,如果用户勾选"轮椅座位"和"中间中殿",则应输出推送("MN,Wheelchair"+ e.posX,e.posY).有没有办法让这种情况发生而不用手动包括很多其他如果每个可能的结果(我甚至可能想添加第三组无线电盒)?

谢谢!

Jef*_*ake 13

我会用相对较少的if语句构建描述主席的字符串,然后push在最后调用.

所以类似于:

var desc = "";
if(document.getElementById('wheelchairseat').checked) {
  //Wheelchair seat is checked
  desc = "Wheelchair "+desc;
}

if(document.getElementById("backnave").checked) {
  desc = "BN, "+desc;
} else if(document.getElementById("middlenave").checked) {
  desc = "MN, "+desc;
} else if(document.getElementById("frontnave").checked) {
  desc = "FN, "+desc;
}

seatsArray.push(desc + e.posX, e.posY);
Run Code Online (Sandbox Code Playgroud)

这可以很容易地扩展到占额外的块组.