javascript - 如何使用 onchange() 清除 select 中的 innerHTML 选项?
问题描述
我有两个选择下拉菜单。当我在第一个选择下拉列表中选择一个选项时,第二个选择下拉列表中的选项将显示取决于从第一个下拉列表中选择的值。
Javascript:
function selectorView() {
var namaServis = document.getElementById('namaServis').options;
var jenisServis = document.getElementById('jenisServis').value;
if (jenisServis == 'ringan') {
var teks = ["Pemeriksaan lampu", "Pemeriksaan kelayakan ban", "Pemeriksaan roda", "Pemeriksaan rem", "Pemeriksaan oli", "Pemeriksaan busi", "Penyetelan Gas", "Pemeriksaan Rantai",
"Pemeriksaan Oli Gear", "Pemeriksaan Kopling"];
teks.forEach(function (el) {
var divNamaServis = document.getElementById('namaServis');
var option = document.createElement('option');
option.innerText = el;
divNamaServis.appendChild(option);
});
console.log(namaServis);
}
else if (jenisServis == 'berat') {
var teks = ["Pemeriksaan kebocoran klep", "Membersihkan ruang bakar & piston", "Skur Klep"];
teks.forEach(function (el) {
var divNamaServis = document.getElementById('namaServis');
var option = document.createElement('option');
option.innerText = el;
divNamaServis.appendChild(option);
});
console.log(jenisServis.length);
}
}
HTML:
<label for="jenisServis">Jenis Servis</label><br>
<select onchange="selectorView()" name="jenisServis" id="jenisServis">
<option value="" disabled selected>Choose one..</option>
<option value="berat">Berat</option>
<option value="ringan">Ringan</option>
</select><br>
<label for="namaServis">Nama Servis</label><br>
<select name="namaServis" id="namaServis">
<option value="" disabled selected>Choose one..</option>
</select>
这是演示: https ://jsfiddle.net/scn3Lb2o/5/
问题是当我在第一个下拉列表中选择一个选项时,然后我选择另一个选项,第二个下拉列表中的选项将重复。任何人都可以帮忙吗?
解决方案
在添加新内容之前使用它来清除选择中的选项
document.getElementById('namaServis').options.length = 0;
推荐阅读
- mysql - 在 mysql 5.7 中转换 rank() over (partition ....
- java - Google 应用引擎无法创建 DevAppServer
- javascript - NodeJS 从控制台获取 Promise 结果
- java - 如何在不同线程中执行两个接受同一类的可运行实例的方法?
- c# - 将视图模型传递给视图,将文本框中的数据保存到视图模型中,然后将该数据从视图模型传输到我的模型
- php - 如何让 PHP 调用 Ajax
- java - Android 10 创建文件夹 - getExternalFilesDir 改为 getExternalStorageDirectory()(已弃用)
- python - 有人能告诉我以下两种在 Python3 中遍历和修改列表的方法之间的区别吗?
- javascript - 为什么函数参数被“转换”为数组
- python-3.x - 给定变量的数组符合形状