使用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