Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery动态构建表单_Jquery - Fatal编程技术网

使用jquery动态构建表单

使用jquery动态构建表单,jquery,Jquery,我有一个表单,当您单击表中的编辑按钮时,我会生成该表单。请看这里的小提琴: 问题是它没有显示正确的形式。如果是轴: if (cameratype == "AXIS") 它构建一个包含8个字段的表单,否则它构建一个包含5个字段的表单。要最好地查看此行为,请转到小提琴并单击第一行“编辑”按钮。查看它构建的表单,它有5个字段。现在,单击下一个“编辑”按钮,查看下一个cameratype。它显示相同的5个字段,而它应该显示8个字段 但是,如果您在该小提琴上刷新浏览器,并单击表中的第二个“编辑”按钮,

我有一个表单,当您单击表中的编辑按钮时,我会生成该表单。请看这里的小提琴:

问题是它没有显示正确的形式。如果是轴:

if (cameratype == "AXIS")
它构建一个包含8个字段的表单,否则它构建一个包含5个字段的表单。要最好地查看此行为,请转到小提琴并单击第一行“编辑”按钮。查看它构建的表单,它有5个字段。现在,单击下一个“编辑”按钮,查看下一个cameratype。它显示相同的5个字段,而它应该显示8个字段

但是,如果您在该小提琴上刷新浏览器,并单击表中的第二个“编辑”按钮,您可以看到它确实显示了8个字段。但是,如果您再次单击第一行的“编辑”,它也是8而不是5个字段

因此,如果单击cameratype=WEBCAM,它应该显示5个字段,当单击cameratype=AXIS时,它应该显示8个字段。请注意,这两个字段之间存在公共字段。你知道我做错了什么吗?

这行:

if (mydiv.find("form").length) {
就是给你带来问题。本质上,它只是向您展示您第一次创建的表单。您需要删除
取消
/
应用
上的表单,或者尝试检测是否有正确类型的表单可用,然后选择/显示该表单


使用
$.empty()

的工作示例您的问题是这一行:

if (mydiv.find("form").length) {
   mydiv.show(); 
}
第一次点击“编辑”按钮后,表单被填充,动态控件不会重新生成,因为它只调用
mydiv.show