【发布时间】:2019-03-14 12:08:45
【问题描述】:
我目前有一个选择下拉菜单,假设根据我拥有的字符串列表禁用和隐藏其中的一些选项。这是我尝试过的非选择 javascript 函数:
<!DOCTYPE html>
<html>
<body>
<select onchange="ToggleSelectizeOptions(this.value)">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
<option value="ford">Ford</option>
<option value="hyundai">Hyundai</option>
<option value="honda">Honda</option>
<option value="porsche">Porsche</option>
</select>
<select id="selectize">
<option value="">All Vehicles</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
<option value="ford">Ford</option>
<option value="hyundai">Hyundai</option>
<option value="honda">Honda</option>
<option value="porsche">Porsche</option>
</select>
<script>
function ToggleSelectizeOptions(ids) {
var selectizeOptions = document.getElementById("selectize").options;
var selectizeSingleOption;
//We always start at 1 because index 0 always have "" as the value.
for (var idx = 1; idx < selectizeOptions.length; idx++) {
selectizeSingleOption = selectizeOptions[idx];
if (ids) {
if (ids.includes(selectizeSingleOption.value)) {
selectizeSingleOption.style.display = "";
} else {
selectizeSingleOption.style.display = "none";
}
} else {
selectizeSingleOption.style.display = "";
}
}
}
</script>
</body>
</html>
这适用于不是选择控件的下拉菜单,但我正在寻找一种可以使用 selectize.js 做同样事情的解决方案。
我看到this question 与我想要的类似,只是答案禁用了该选项,而我想隐藏该选项。
【问题讨论】:
-
@RokoC.Buljan 我添加了代码 sn-p 以显示代码有效。
标签: javascript jquery html html-select selectize.js