2017-02-01 42 views
1

我有以下事件綁定代碼。當我嘗試保存該行的事件函數被解僱但我沒有得到任何行數據? 我必須得到整個數據並迭代找到id。它是否正確???jqGrid事件:jqGridInlineAfterSaveRow rowdata爲空?

$("#jqGrid").bind("jqGridInlineAfterSaveRow", function (e, rowid, orgClickEvent) { 
    console.log("[Start]jqGridInlineAfterSaveRow"); 
    console.log(rowid); 
    console.log(orgClickEvent); 
    console.log(e); 

    var data = $("#jqGrid").jqGrid('getGridParam', 'data'); 
    $.each(data, function(index, item){ 
     if(item._id_ === rowid){ 
     console.log(item); 
     } 
    });  


    console.log("[End]jqGridInlineAfterSaveRow"); 
    return e.result === undefined ? true : e.result; 
}); 

enter image description here

回答

3

請總是包括(在<版= 4.7 free jqGrid,商業Guriddo jqGrid JS或舊的jqGrid)您使用的(可以用)有關的jqGrid的版本信息,和叉。

在任何方式的參數

$("#jqGrid").bind("jqGridInlineAfterSaveRow", 
    function (e, rowid, jqXhrOrBool, postData, options) { 
     var item = $(this).jqGrid('getLocalRow', rowid); 
     //... 
    } 
); 

凡3-d的參數是布爾在本地數據的保存和jqXHR的情況下在將數據保存到經由Ajax請求的服務器的情況下。參數postData包含您可能需要的修改後的數據。如果您將全部數據作爲關於該行而非僅可編輯字段的數據進行填充,則可以使用getLocalRow獲取對內部data的項目的引用,這些內容代表完整的本地行數據。

我剛剛測試了事件jqGridInlineAfterSaveRow在我開發的免費jqGrid 4.13.6中,事件真的包含了我在上面描述的參數。