2011-08-09 41 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/

問候丹尼爾

相關問題