jqGrid表单编辑卡在初始加载的值上

时间:2010-11-09 15:57:09

标签: jqgrid

当我打开表单来编辑值时:

  1. 使用<>按钮导航时,它不会更改表单值

  2. 它打开新表单,其值与第一个编辑行相同,当我点击"Submit"时,它会覆盖该行而不是创建新项

  3. 当我点击编辑另一行时,它始终显示第一个编辑行的表单值 - 即如果我先单击“新建”然后再编辑行,则显示空表单。

  4. 因此,简而言之,第一次打开窗体时,值会“卡住”我稍后打开的行。

    这会导致什么?我记得它曾经在一段时间以前工作过。

    更新

    否则使用recreateForm我没有这个问题(我将它用作临时解决方法)。

    嗯,我可以在jqGrid示例中重现这一点,但不能在实时操作 - 第3.7版中的新功能,Add/edit/delete上的local data上重现:

    1. 点击任意行并进行编辑(打开表单)
    2. 关闭表单
    3. 选择任何其他行并单击编辑 - 表单显示不正确的值(来自首先打开的行)
    4. 单击工具栏中的添加新行按钮 - 表单显示相同的值 - 这非常方便,通常新行“几乎”相同 - 如果只是它会添加新行,而不是更新现有行!
    5. 当然在live demo Submit中没有这样做(它似乎根本不起作用)但除了这个症状是相同的。

      同样<>按钮不会更改表单中的数据,但它们会更改所选行 - 但是我之前记得它用于更新表单值以匹配所选行。

1 个答案:

答案 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设置为默认设置。您可以在编辑/添加对话框中保存许多小时或几天的调试。