javascript - 仅通过 javascript 从下拉列表中删除重复项
问题描述
我有一个从数据库动态创建的选择下拉字段。由于创建它的方式,它会导致下拉列表具有重复的项目和值。
<select id="locationList">
<option value="1">Andover</option>
<option value="2">Bishops waltham</option>
<option value="1">Andover</option>
<option value="3">Boscombe</option>
<option value="4">Bournemouth</option>
<option value="2">Bishops waltham</option>
<option value="4">Bournemouth</option>
</select>
有谁知道是否有办法在页面上使用一些代码来检查下拉列表中的重复项并仅通过 Javascript No Jquery 从菜单中删除重复项?
提前致谢,
阿比纳夫
解决方案
Javascript 有removeChild
选项,您可以使用它来删除重复值:
var fruits = document.getElementById("locationList");
[].slice.call(fruits.options)
.map(function(a){
if(this[a.value]){
fruits.removeChild(a);
} else {
this[a.value]=1;
}
},{});
<select id="locationList">
<option value="1">Andover</option>
<option value="2">Bishops waltham</option>
<option value="1">Andover</option>
<option value="3">Boscombe</option>
<option value="4">Bournemouth</option>
<option value="2">Bishops waltham</option>
<option value="4">Bournemouth</option>
</select>
推荐阅读
- intellij-idea - 我在新项目向导/工具窗口中看不到/运行 Gradle
- c++ - 如何检查一个类是否可以从多个参数显式构造?
- angular - 试图总结 grandTotal 是行不通的
- flutter - 如何正确声明数组
- r - 无法在 R 中订购条形图
- spring - 春季批处理执行,如何避免使用FlatFileItemWriter记录异常的文件名为空
- git - 使用 NPM 从 GitHub 存储库下载除 .gitignore 中的文件以外的所有文件?
- swift - URLSession(配置:URLSessionConfiguration.default)与 URLSession.shared
- html - 如何路由 url 以包括向下滚动到 Laravel 中的 div id
- python - 如何通过名称(字符串)调用当前函数中定义的函数