使用jquery动态构建表单

时间:2011-12-28 18:36:05

标签: jquery

当我点击表格中的编辑按钮时,我有一个表单。看到这里的小提琴: http://jsfiddle.net/UtNaa/42/

问题在于它没有显示正确的表格。如果是AXIS:

if (cameratype == "AXIS")

它构建一个包含8个字段的表单,否则它会构建一个包含5个字段的表单。要最好地查看此行为,请转到小提琴并单击第一行“编辑”按钮。查看它构建的表单,它有5个字段。现在单击下一个摄像头类型的下一个“编辑”按钮。当它显示8个字段时,它显示相同的5个字段。

但是如果你在那个小提琴上刷新浏览器并且这次点击表格中的第二个“编辑”按钮,你会发现它确实显示了8个字段。但是,如果你点击第一行的“编辑”,它也是8而不是5个字段。

因此,如果您单击cameratype = WEBCAM,它应显示5个字段,当您单击cameratype = AXIS时,它应显示8个字段。请注意,两者之间存在共同字段。我有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这一行:

if (mydiv.find("form").length) {

给你问题。从本质上讲,它只是向您展示您最初创建的相同形式。您需要删除cancel / apply上的表单,或者尝试检测表单的格式是否正确,然后选择/显示该表单。

使用$.empty()的工作示例:http://jsfiddle.net/UtNaa/44/

答案 1 :(得分:1)

你的问题就在这一行:

if (mydiv.find("form").length) {
   mydiv.show(); 
}

第一次点击“编辑”按钮后,表格将被填充,动态控件不会重新生成,因为它只是调用mydiv.show