2011-06-01 66 views
1

我需要能夠克隆下拉列表並只篩選尚未在選擇列表組中選擇的選項。jquery刪除/添加克隆選擇列表後的選擇選項

例如,具有如下:

<select name="SelectService" class="selService"> 
<option value="1">Some service</option> 
<option value="2">Another one</option> 
<option value="3">One more</option> 
</select> 

當我點擊「克隆」按鈕,將克隆的選擇列表中,只有那些還沒有被選擇的選項。

例如:選擇選項「部分服務」 - >打克隆 - >新的選擇列表僅添加選項值:2和3

etc..cloning和刪除選擇列表將重新填寫選擇基於迄今選擇的選項列表。

編輯: ,以更好地在這裏顯現它的屏幕截圖: enter image description here

場景:

  1. 我開始只有1下拉 列表(即有5個選項)=> 默認情況下,選擇1,2,3,4,5 - >第一個選項。
  2. 我點擊克隆 - > 新列表中只添加了選項 2,3,4,5。
  3. 我選擇選項5(在選擇列表

    2)

  4. 我打克隆 - >新的列表(#3)添加 只有選項2,3,4
  5. 我選擇選項2(在選擇列表

    3)

  6. 我打克隆 - >新的列表(#4)與選項創建的 3,4

..等等。

現在,當我刪除選擇列表#2(或任何其他選擇列表),這意味着所有選擇列表應該重新新鮮,包括刪除選擇列表中的選項(在我們的例子#2)

幫助。 感謝

回答

3

這似乎做你想要什麼:http://jsfiddle.net/infernalbadger/SKVSu/1/

$('#clone').click(function() { 
    var original = $('select.selService:eq(0)'); 
    var allSelects = $('select.selService'); 
    var clone = original.clone(); 

    $('option', clone).filter(function(i) { 
     return allSelects.find('option:selected[value="' + $(this).val() + '"]').length; 
    }).remove(); 

    $('#target').append(clone).append('<br />'); 
}); 
+0

不超過2項工作。 – ShaneKm 2011-06-01 08:39:41

+0

@Shane抱歉,您的意思是? – 2011-06-01 08:42:03

+0

請查看更新後的問題 – ShaneKm 2011-06-01 09:26:53