2012-10-04 37 views
0

我正在這個網站上工作,用戶可以在其中創建自己的捆綁包。基本上他們有一個課程列表,他們可以選擇5並創建一個包。jQuery,克隆選擇,禁用以前選擇的選項

我正在採取的方法是所有課程的下拉列表,然後克隆點擊。

我想要做的是禁用任何以前選定的項目在下一個克隆的列表。

這可能嗎?

這裏是我的代碼:http://jsfiddle.net/Y4fLM/

非常感謝!

回答

1

你可以試試這一個,以及

http://jsfiddle.net/Y4fLM/3/

至於你的問題看來可能是這個可能對你有幫助。

+0

嗨PRP。抱歉,我看不到與我發佈的內容有什麼不同? :S – elmediano

+0

奧普斯忘記更新jsfiddle與我的腳本..所以你看到了相同的一個,你張貼..我的壞..現在我已經更新了鏈接..所以你應該能夠看到更改.. – PRP

+0

這是一個不錯的做法,我要去了:)謝謝!我不得不解決了刪除克隆項目時導致的一個小問題:之前的下拉菜單仍然被禁用。這裏是工作小提琴:http://jsfiddle.net/kEKFX/ – elmediano

2

我不得不對你的工作有些類似的要求,但是,而不是動態創建選擇的我有3頁在頁面上。

檢查這個FIDDLE ..它可能是有幫助的。

+1

哇,這是一段非常不錯的代碼。我想我會與其他答案一起去適應我的代碼:)謝謝一百萬,但我會保持這未來的東西來;) – elmediano

+1

@elmediano ..當然不是問題:) –

+0

但在其他小提琴我看到,所有的選擇後,如果你回到第4選擇,你仍然可以看到一個選擇的選項..點我如果我錯了 –

1

這是你在找什麼?
http://jsfiddle.net/VLrpn/

關鍵代碼來正確安裝新的元素之前:

$('.hidden-itemname').each(function(index) { 
     newElem.children('.hidden-itemname').children('option[value="'+$(this).val()+'"]').remove() 
    }); 
+0

實際上,你可以通過使用下列選項來禁用選項: .attr('disabled ','禁用')。 如果你這樣做,你應該設置你的第一個選項(請選擇)來選擇,以便默認情況下不選擇禁用的項目。 – user1026361

+1

輝煌!非常感謝。經過考慮,我認爲.remove()更有意義。殘疾人可能會混淆用戶,而如果物品不在那裏,他們知道這些是他們唯一的選擇!謝謝! – elmediano

+0

Susanth在下面說得很好:「但是在另一個小提琴中,我看到所有的選擇都完成了。如果你回到第四個選擇,你仍然可以看到一個選擇的選項..指向我如果我錯了」 。您可以返回上一個選擇並結束重複。可能只是禁用了以前的所有選擇...但用戶然後必須刪除元素才能改變主意!哎呀!混亂!:P – elmediano