2012-10-04 128 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