微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 如何删除具有相同值的重复下拉选项元素

如何删除重复值 – >下拉选项元素?
我有以下 HTML

<option value="">All Servers</option>
<option value="com">http://smiles.com</option>
<option value="in">http://3smiles.com</option>
<option value="com">http://desk.com</option>
<option value="in">http://france24.com</option>

从上面我必须删除重复值com和in,所以我的预期输出应该是:

<option value="">All Servers</option>
<option value="com">http://smiles.com</option>
<option value="in">http://3smiles.com</option>

如何使用jQuery做到这一点?

解决方法

使用 .siblings()(以兄弟选项元素为目标)和 Attribute Equals Selector [attr=""]

$(".select option").val(function(idx,val) {
  $(this).siblings('[value="'+ val +'"]').remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="select">
  <option value="">All</option>
  <option value="com">.com 1</option>
  <option value="net">.net 1</option>
  <option value="com">.com 2</option> <!-- will be removed since value is duplicate -->
  <option value="net">.net 2</option> <!-- will be removed since value is duplicate -->
</select>

(也适用于同一页面上的多个.select)
我在< select>中添加一个.select类.元素更具选择性

这个怎么运作:
而选项是逐个访问的(通过.val()) – 查找具有相同“[value =’”this.value“’]”和.remove()的.sibling()选项.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐