将新行添加到jqGrid控件后如何运行JavaScript函数?

时间:2015-06-17 15:44:02

标签: javascript jquery jqgrid

我有一个jqGrid,它被设置为在线编辑。

我单击Add New(+)按钮,它会在网格的新行上添加并使用控件填充新行,以便填写与该新行相关的数据。

在控件显示在用户将要与之交互的新行中以填充他们正在创建的记录的数据之后,我需要能够运行一些JavaScript。

这是在单击“添加新”按钮之后,并且在将控件渲染到各自的单元格中以便于输入数据之后,但在进行任何编辑或保存之前。这与向数据源推送数据或从数据源提取数据没有任何关系,这只是我尝试使用一些客户端魔术。

我在jqGrid wiki中没有看到与此对应的任何内容。我在想可能有某种XXXXRendered方法,与那些放在新行上的控件相关联,我可以覆盖,但我只是没有看到任何东西。

对此的任何指导将不胜感激。

1 个答案:

答案 0 :(得分:1)

您似乎使用inlineNav进行表单编辑。我建议你在回调aftersavefunc或事件'jqGridInlineAfterSaveRow'的情况下使用。回调的第一个参数是rowid。如果您只需在保存 new 行后执行某些操作,则可以测试该行是否具有类"jqgrid-new-row"

$("#grid").bind("jqGridInlineAfterSaveRow", function (e, rowid, resp, data, options)) {
    var $tr = $("#" + $.jgrid.jqID(rowid)); // "#" + rowid
    if ($tr.hasClass("jqgrid-new-row")) {
        // do something after a new row is added
    }
});