【问题标题】:jQuery, Clone select, disable previously selected optionsjQuery,克隆选择,禁用以前选择的选项
【发布时间】:2012-10-04 15:38:54
【问题描述】:

我正在这个网站上工作,用户可以在该网站上创建自己的捆绑包。基本上他们有一个课程列表,他们可以选择 5 个并创建一个捆绑包。

我正在采用的方法是所有课程的下拉列表,然后单击即可克隆。

我想做的是禁用下一个克隆列表中任何以前选择的项目。

这可能吗?

这是我的代码:http://jsfiddle.net/Y4fLM/

非常感谢!

【问题讨论】:

    标签: jquery select clone selecteditem


    【解决方案1】:

    我不得不处理与您的要求有些相似的要求,但是,我没有动态创建选择,而是在页面上有 3 个。

    检查这个FIDDLE ..它可能会有所帮助。

    【讨论】:

    • 哇,这是一段非常棒的代码。我想我会选择另一个答案,因为它会适应我的代码 :) 不过感谢一百万,我会保留这个以备将来使用 ;)
    • @elmediano .. 当然不是问题 :)
    • 但是在另一个小提琴中,我看到在所有选择完成之后..如果你回到第四个选择,你仍然可以看到一个选定的选项..如果我错了,请指点我跨度>
    • 苏珊斯你是完全正确的。所选项目应从前一个和后一个选择中删除。嗯,看来我最终可能会使用您的代码并接受您的回答。我去看看:)
    • 因为你说另一个答案接近你的要求。所以如果可能的话尝试调整它..如果没有其他选项尝试使用我的
    【解决方案2】:

    你也可以试试这个

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

    与您的问题一样,这似乎对您有所帮助。

    【讨论】:

    • 嗨,PRP。抱歉,我看不出和我发布的有什么不同? :S
    • Opps 忘记用我的脚本更新 jsfiddle。所以你看到的和你发布的一样。我的错。现在我已经更新了链接。所以你应该能够看到更改..
    • 这是一个不错的方法,我会努力的:)谢谢一百万!我必须解决一个在删除克隆项目时引起的小问题:之前的下拉菜单仍然被禁用。这是工作小提琴:jsfiddle.net/kEKFX
    • 太棒了。我很高兴我的帖子对你有用:)
    【解决方案3】:

    这是你要找的吗?
    http://jsfiddle.net/VLrpn/

    关键代码在附加新元素之前出现:

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

    【讨论】:

    • 您实际上可以使用以下命令禁用选项:.attr('disabled', 'disabled')。如果这样做,您应该将您的第一个选项(请选择)设置为选中,以便默认情况下不选择禁用的项目
    • 太棒了!非常感谢。考虑到这一点,我认为 .remove() 更有意义。禁用可能会使用户感到困惑,而如果该项目不存在,他们知道这些是他们唯一的选项!谢谢!
    • Susanth 在下面提出了一个很好的观点:“但是在另一个小提琴中,我看到在所有选择都完成之后..如果你回到第 4 个选择,你仍然可以看到一个选定的选项..如果我错了,请指出我”。您可以返回之前的选择并以重复项结束。可能只是禁用了所有以前的选择......但是用户必须删除元素才能改变主意!啊!困惑! :P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2012-09-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多