将元素添加到选择框,除非它们已经存在

发布于 2024-11-28 15:38:33 字数 248 浏览 0 评论 0原文

我正在尝试将项目从另一个选择元素添加到选择元素,但前提是它们尚不存在:

$('#srcSelect option:selected').appendTo('#dstSelect')

唯一的问题是,如果相同的值已存在于 #srcSelect 中,我希望跳过 #srcSelect 中的项目#dst选择。或者换句话说,#dstSelect 中的值应该是唯一的。

使用 jQuery 最简洁的方法是什么?

I'm trying to add items to a select element from another select element, but only if they are not already present:

$('#srcSelect option:selected').appendTo('#dstSelect')

The only problem with this is that I want the item in #srcSelect to be skipped if the same value already is present in #dstSelect. Or to put it another way, the values in #dstSelect should be unique.

What's the most succint way to make it so using jQuery?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽手叙旧 2024-12-05 15:38:33

我的解决方案是使用 .filter 将所选项目列表过滤为仅包含那些不包含的项目t 存在于第二个选择中:

$('#srcSelect option:selected').filter(function() {
    return $('#dstSelect option[value="' + $(this).attr('value') + '"]').length == 0;
}).appendTo('#dstSelect')

我假设您使用的是

这里是 JSFiddle:http://jsfiddle.net/43P7M/1/

问候丹尼尔

My solution would be to use the .filter to filter the list of selected items to only those that don't exist in the second select:

$('#srcSelect option:selected').filter(function() {
    return $('#dstSelect option[value="' + $(this).attr('value') + '"]').length == 0;
}).appendTo('#dstSelect')

I assumed you are using a <select multiple="multiple"> otherwise there are easier ways

Here the JSFiddle: http://jsfiddle.net/43P7M/1/

greetings Daniel

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文