【发布时间】:2019-08-05 12:37:56
【问题描述】:
我有多个选择选项,我需要在每个选项之间进行比较。我怎么能在 jquery/javascript 中做到这一点?
在下面的示例中,我尝试选择单个选项,例如“temp”并且它有效。但是当我尝试同时选择“temp”和“level”时出现了两个弹出警报,这不是所需的输出。
for (var i = 0; i < sensor.length; i++) {
var isSelected = sensor[i];
}
if (process1 === "P1" && isSelected === "temp") {
alert("temp")
}
if (process1 === "P1" && isSelected === "hum") {
alert("hum")
}
if (process1 === "P1" && isSelected === "pre") {
alert("pre")
}
if (process1 === "P1" && isSelected === "level") {
alert("level")
}
if (process1 == "P1" && isSelected == "temp" || isSelected == "level") {
alert("level 14")
}
});
<div class="form-group col-md-6">
<select class="selectpicker" id="sensor" name="sensor[]" multiple>
<option selected>None</option>
<option value="P1All">All</option>
<option value="temp">Temperature</option>
<option value="hum">Humidity</option>
<option value="pre">Presure</option>
<option value="level">Level</option>
</select>
我期望的输出是:如果我选择“temp”和“level”,我应该得到一个仅显示“level 14”的弹出窗口。目前有两个弹出窗口,分别是“level”和“level 14”
【问题讨论】:
-
请添加完整功能。没有损坏的代码。
-
由于(无意义的)for 循环,
isSelected将始终是sensor的最后一个元素。因为那是level我猜,最后两个 if 块将签出。 -
你在什么事件下运行 JS?这个问题似乎缺少一些重要的逻辑
标签: javascript jquery html multiple-select