2011-08-09 43 views
1

我试图将项目从另一个选择元素添加到选择元素,但只有当它们不存在:添加元素来选择框,除非它们已经存在

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

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

什么是最简单的方式使它使用jQuery?

回答

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/

问候丹尼尔

相关问题