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

时间:2011-08-09 11:20:44

标签: javascript jquery select jquery-selectors unique

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

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

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

使用jQuery创建它的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

我的解决方案是使用.filter过滤所选项目列表,只筛选第二项选择中不存在的项目:

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

我认为你使用<select multiple="multiple">,否则有更简单的方法

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

问候丹尼尔