【发布时间】:2018-09-24 15:05:28
【问题描述】:
是否可以使用“getElementByName”方法的表达式来创建“Switch”语句,以检查复选框是否具有相同的名称?
这是我的功能:
function finalOutput() {
var text, text2, q = document.getElementByName("checker").value;
switch(q){
case 1:
text = "my role is role1";
break;
case 2:
text = "my role is role2";
break;
case 3:
text = "my role is role3";
break;
case 4:
text2 = "my parameter is parameter1";
break;
case 5:
text2 = "my parameter is parameter2";
break;
case 6:
text2 = "my parameter is parameter3";
break;
default:
text = "Please check if you fill all details...";
}
document.getElementById("output").innerHTML = text;
document.getElementById("output2").innerHTML = text2;
}
这是 html 中的复选框:
role1: <input type="checkbox" id="1" onclick="selectOnlyThis(this.id)"
value="1" name="checker"/> </br>
role2: <input type="checkbox" id="2" onclick="selectOnlyThis(this.id)"
value="2" name="checker"/> </br>
role3: <input type="checkbox" id="3" onclick="selectOnlyThis(this.id)"
value="3" name="checker"/> </br>
parameter1: <input type="checkbox" id="4"
onclick="selectOnlyThis2(this.id)" value="4" name="checker" /> </br>
parameter2: <input type="checkbox" id="5"
onclick="selectOnlyThis2(this.id)" value="5" name="checker" /> </br>
parameter3: <input type="checkbox" id="6"
onclick="selectOnlyThis2(this.id)" value="6" name="checker" />
我希望开关能够获取每个复选框的值,并且它会执行我告诉他的相应操作。 我认为问题出在 switch 的情况下,但不确定。 我试着用“if”来做,但不能让它工作。
【问题讨论】:
-
请点击
<>sn-p 编辑器并创建一个minimal reproducible example - selectOnlythis 在哪里? -
如果您将函数
finalOutput() {更改为selectOnlyThis(q)并删除 `q = document.getElementByName("checker").value;` 您的代码可能会更好地工作
标签: javascript html if-statement checkbox switch-statement