动态添加的文本框将附加到错误的表单元素

时间:2011-04-05 09:32:49

标签: javascript jquery html dynamic-forms

使用这个jsfiddle很容易看到:

http://jsfiddle.net/6xPye/4/

我所拥有的是两个下拉列表,其值会根据您在第一个中选择的内容而改变。

这一切都很好,即使提交了表单,但我现在想要做的是在第一个下拉列表中输入一些值,即产生中间下拉列表和一个文本框而不是2个下拉列表。

我有点工作但是如果你先选择escherpropname,它会破坏之后添加的动态元素。

非常感谢任何帮助。

谢谢,

马丁

1 个答案:

答案 0 :(得分:1)

我想你会想要改变你添加文本框的方式,这是一个解决方案

HTML:

<!-- remove textbox -->
<!--<input type="text" name="valuestextbox[]" class="valuestextbox"/>-->

jQuery的:

// in document .ready change these lines
//$valuestextbox = $('.valuestextbox'); *remove*
//$valuestextbox.hide(); *remove*
// Create a textbox as needed
$valuestextbox = $('<input type="text" name="valuestextbox[]" class="valuestextbox"/>'); // *add*

...

// in your test for 'escherpropname'
//$valuestextbox.show(); *remove*
$values.after($valuestextbox.clone()); // *add*

更新小提琴:http://jsfiddle.net/pxfunc/6xPye/5/