有一個方法editGridRow其實現形式編輯爲都「編輯」和「添加」對話框。所以在兩種情況下都可以使用相同的事件處理程序serializeEditData。例如,
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for edit
}
},
{/*add options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for add
}
},
{/*del options*/},
{/*search options*/}
/);
通常serializeEditData
事件是非常實用的,如果您需要轉換全部以另一種格式發佈數據,例如使JSON序列化。爲了能夠通過額外的POSTDATA參數,你可以使用editData
參數,而不是其含義一樣postData
參數的jqGrid的相同:以這種方式
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*add options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*del options*/},
{/*search options*/}
);
或更好的(見this answer關於函數的用法爲postData
財產):
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*add options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*del options*/},
{/*search options*/}
);
是否有理由聲明'var rowdata'然後返回函數而不使用變量? – Chev 2011-03-09 18:37:50