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

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


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

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

最佳答案

我的解决方案是使用.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/

丹尼尔的问候

07-24 21:55