【发布时间】:2022-01-03 22:59:25
【问题描述】:
我一直在尝试创建可以执行操作的脚本,例如在“p”标签中写一些东西。我在 html 中有 2 个选择列表。我想让一切都与一切交互,所以第一个列表中的每个元素与第二个列表中的每个元素都有不同的交互。我认为使用 switch 将是最有效的方法,但无法使其工作
<select name="metric" id="metric">
<option value="kilometers">km</option>
<option value="meters">m</option>
<option value="centimeters">cm</option>
<option value="milimeters">mm</option>
</select>
<select name="imperial" id="imperial">
<option value="miles">mi</option>
<option value="yards">yd</option>
<option value="feet">ft</option>
<option value="inches">in</option>
</select>
<button onclick="press()">Click</button>
<p id="aaa1">Placeholder</p>
var x = document.getElementById("imperial");
var i = x.selectedIndex;
function press() {
if (document.getElementById("metric").getElementsByTagName("option")[0].selected) {
switch (i); {
case 0:
document.getElementById("aaa1").innerHTML = "0";
break;
case 1:
document.getElementById("aaa1").innerHTML = "1";
break;
case 2:
document.getElementById("aaa1").innerHTML = "2";
break;
case 3:
document.getElementById("aaa1").innerHTML = "3";
break;
default:
document.getElementById("aaa1").innerHTML = "default";
}
}
}
在那之后我会有另一个 if with ("option")[1] etc. 有人可以帮忙吗?
【问题讨论】:
-
为什么不用
document.getElementById("metric").selectedIndex上的开关而不是一堆ifs? -
您是否正在尝试编写将公制距离转换为英制距离的东西?
-
是的。我想在公制中添加英制,在英制中添加公制,这样您就可以将公里转换为厘米等。但是一旦我做对了,这将很容易
标签: javascript function if-statement drop-down-menu switch-statement