javascript - 删除重复 Jquery 代码不适用于我的 MVC 表单上的所有下拉列表
问题描述
我正在使用在 Stakeoverflow 上找到的 jquery 代码来删除下拉列表中的重复值。我的问题是 jquery 代码适用于第一个下拉列表,但不适用于第二个下拉列表,欢迎任何帮助
第一个下拉菜单
<select id="AssetStoredWhere" name="AssetStoredWhere" class="form-control js-example-disabled-results
select">
<option value="@ViewBag.AssetStoredWhere">@ViewBag.AssetStoredWhere</option>
<option value="UK">UK</option>
<option value="EU">EU</option>
<option value="Worldwide">Worldwide</option>
</select>
2bd下拉
<select asp-for="Dpiaavailable" id="Dpiaavailable" name="Dpiaavailable" class="form-control js-
example-disabled-results select">
<option value="@ViewBag.Dpiaavailable">@ViewBag.DpiaavailableValue</option>
<option value="False">No</option>
<option value="True">Yes</option>
</select>
jQuery代码
var seen = {};
jQuery('.select').children().each(function () {
var txt = jQuery(this).attr('value');
if (seen[txt]) {
jQuery(this).remove();
} else {
seen[txt] = true;
}
});
解决方案
您需要另一个循环来遍历select
元素本身,而不是遍历option
每个元素的元素select
。尝试这个:
$('.select').each(function() {
var seen = {};
$(this).children().each(function() {
var $option = $(this);
if (seen[$option.val()]) {
$option.remove();
} else {
seen[$option.val()] = true;
}
});
});
推荐阅读
- mysql - 将 mysql 更新查询转换为支持 h2 db 的查询
- google-bigquery - 如何在 Big Query 中仅显示重复记录?
- django - django 使用自定义表单 + 显示组名更新用户配置文件
- reactjs - 从移动设备中提取文档/图像并将它们显示到 react native 的列表中
- html - 无法在 addeventListener 函数中更新全局变量
- c# - 部分视图 - 如何从 mvc 中的部分视图列表中获取按钮的 ID,以及如何通过传递 id 来调用相同的操作
- reactjs - 如何从 React Js 项目中删除所有 unsed 导入?(VS代码)
- apache-spark - 未分区的大型数据集连接另一个已分区的大型数据集。结果数据集是否分区?
- java - 如何进行放心认证?
- django - 连接路径位于基本路径组件之外