当我打开表单来编辑值时:
使用<>
按钮导航时,它不会更改表单值
它打开新表单,其值与第一个编辑行相同,当我点击"Submit"
时,它会覆盖该行而不是创建新项
当我点击编辑另一行时,它始终显示第一个编辑行的表单值 - 即如果我先单击“新建”然后再编辑行,则显示空表单。
因此,简而言之,第一次打开窗体时,值会“卡住”我稍后打开的行。
这会导致什么?我记得它曾经在一段时间以前工作过。
更新
否则使用recreateForm我没有这个问题(我将它用作临时解决方法)。
嗯,我可以在jqGrid示例中重现这一点,但不能在实时操作 - 第3.7版中的新功能,Add/edit/delete
上的local data
上重现:
当然在live demo Submit
中没有这样做(它似乎根本不起作用)但除了这个症状是相同的。
同样<>
按钮不会更改表单中的数据,但它们会更改所选行 - 但是我之前记得它用于更新表单值以匹配所选行。
答案 0 :(得分:4)
可能您应该使用“版本3.7中的新功能”,“添加/编辑/删除”作为trirand forum中的错误发布您的错误描述。
问题是该错误存在于非常特殊的环境/数据/设置中。例如,我测试了my old local edit example修改为jqGrid 3.8.1或in 3.7.2并且无法重现您描述的问题。因此,您可以将我的示例用作模板,它可以帮助您。
此外,在我用于实际项目的所有示例中,我总是使用参数recreateForm:true
。如果您不使用它,jqGrid不会创建表单,但会尝试使用现有的其他数据。它在许多情况下工作错误。例如,如果您使用任何dataInit
函数,它们将在创建表单期间仅被调用一次,这会产生非常奇怪的影响。如果您使用edittype: 'custom'
,recreateForm:true
的使用确实是强制性的(请参阅this)。所以我建议many times所有人都使用
jQuery.extend(jQuery.jgrid.edit, {recreateForm: true});
将recreateForm: true
设置为默认设置。您可以在编辑/添加对话框中保存许多小时或几天的调试。