2011-03-29 76 views
1

你可以看到我是什么试图在此的jsfiddle做:http://jsfiddle.net/pV6x5/16/使用jQuery的clone()有困难

原组三个下拉菜单是使用JavaScript来产生什么样的选择在第二可用和基于第一个选定值的第三个下拉菜单。

当这种被克隆并选择在克隆的第一个下拉选项,它是原来的这种变化的第二个和第三个下拉菜单,我不知道如何解决此问题:■

任何帮助将不胜感激。

感谢,

马丁

UPDATE 一些阅读后,我已经改变了ID的只是使用类,以尽量避免任何冲突:http://jsfiddle.net/QbfXq/1/

不幸的是它似乎仍然表现得与以前完全一样。

回答

1

嗨,我在你的代码Here做了一些修改。我只修改了前4或5个选项,您必须自己修改剩余的代码。

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

那么我希望你看到它应该工作的方式。

+0

嗨,非常感谢您的帮助,我真的很感激。 我唯一困惑的是为什么你在$(this).next','$(this).children'和'$(this).find'之间切换? 并非所有的值都被填入,但'colour'选项似乎打破了它,所以做了一些其他的,但我不明白为什么。如果你可以稍微解释一下,这会有很大的帮助。 – martincarlin87 2011-03-29 13:36:11

+0

正如我告诉过你的,我确实尝试了一些东西,忘记了你的层次结构不适合的“children”。 'find'也一样。当你将元素放在另一个旁边时,'next'应该可以做到, – 2011-03-29 13:52:45

+0

好,非常感谢。你是否有更好的方法来构建确定显示哪些值的代码? – martincarlin87 2011-03-29 14:13:50