2015-06-17 30 views
1

我有一個jqGrid,它被設置爲在線編輯。如何在向jqGrid控件添加新行後運行JavaScript函數?

我點擊添加新(+)按鈕,它粘貼到網格的新行,並用控件填充新行,用於填寫與新行相關的數據。

我需要能夠在新行中顯示控件後運行一段JavaScript,用戶將與之交互以填充正在創建的記錄的數據。

這是在添加新按鈕被單擊之後,並且在控件渲染到它們各自的單元格以便於輸入數據之後,但在進行任何編輯或保存之前發生之後。這與將數據推送到數據源或從數據源提取數據沒有任何關係,這只是我嘗試使用一點客戶端的魔力。

我沒有看到任何與jqGrid wiki相關的內容。我想可能會有某種XXXXRendered方法,與那些放在新行中的控件相關聯,我可以重寫,但我只是沒有看到任何東西。

任何有關這方面的指導將不勝感激。

回答

1

看起來您使用inlineNav進行表單編輯。我建議您在回調aftersavefunc或事件'jqGridInlineAfterSaveRow'的情況下使用。回調的第一個參數是rowid。如果你只需要保存一行之後做一些動作,那麼你可以測試該行是否有類"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 
    } 
});