【问题标题】:Having difficulties with JQuery clone()使用 JQuery clone() 遇到困难
【发布时间】:2011-07-25 03:26:21
【问题描述】:

你可以在这个 jsfiddle 中看到我 正在尝试做什么:http://jsfiddle.net/pV6x5/16/

最初的三个下拉列表是使用 javascript 来根据第一个的选定值生成第二个和第三个下拉列表中可用的选项。

当它被克隆并且您在克隆的第一个下拉列表中选择一个选项时,原始的第二个和第三个下拉列表会发生变化,我不知道如何解决这个问题:S

任何帮助将不胜感激。

谢谢,

马丁

更新 经过一番阅读,我已将 id 更改为仅使用类,以避免任何冲突:http://jsfiddle.net/QbfXq/1/

不幸的是,它的行为似乎仍然与以前完全相同。

【问题讨论】:

    标签: jquery html select drop-down-menu clone


    【解决方案1】:

    您好,我对您的代码 Here 进行了一些修改。我只修改了前 4 或 5 个选项,您必须自己修改其余代码。

    主要问题是,当您克隆时,每个元素的类和名称保持不变。 然后你只在 ($(document).ready) 中初始化值和操作数对象一次,所以这就是你不断修改同一个元素的原因。 在我的代码中,我确实查找了单击的 arg 的下一个元素。 但是我认为您应该组织更多代码,例如使用<div> 可以让您更精确地使用请求。 例如,您可以在 div 子项中使用搜索,而不是使用 next

    我希望你看到它应该如何工作。

    【讨论】:

    • 您好,非常感谢您的帮助,非常感谢。我唯一感到困惑的是,你为什么要在$(this).next$(this).children$(this).find 之间切换?并非所有值都已填写,但 colour 选项似乎破坏了它,其他一些值也是如此,但我不明白为什么。如果你能解释一下,那将有很大帮助。
    • 正如我告诉你的那样,我确实尝试了一些东西,忘记children,因为你的层次结构不适合。 find 也是如此。当您将元素并排放置时,next 应该可以解决问题
    • 好的,非常感谢。对于确定要显示哪些值的代码结构的更好方法,您有什么建议吗?
    • 我会将每个 Arg/Operand/value 放在参考 div 中。然后我会克隆 div 并修改克隆的 id。完成后,您可以使用.children([selector}) 确保获取直系后代。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    相关资源
    最近更新 更多