jqgrid行編輯
阿新 • • 發佈:2019-01-26
ondblClickRow: function(id){ if(id && id !== lastsel){ var rowData = $("#jqGridId").jqGrid("getRowData", id); $('#jqGridId').jqGrid('restoreRow',lastsel); $('#jqGridId').jqGrid('editRow',id,{ keys : true, //這裡按[enter]儲存 url: s2web.appURL + "jq/save.action", mtype : "POST", restoreAfterError: true, extraparam: { "ware.id": rowData.id, "ware.warename": $("#"+id+"_name").val(), "ware.createDate": $("#"+id+"_date").val(), "ware.number": $("#"+id+"_amount").val(), "ware.valid": $("#"+id+"_type").val() }, oneditfunc: function(rowid){ console.log(rowid); }, succesfunc: function(response){ alert("save success"); return true; }, errorfunc: function(rowid, res){ console.log(rowid); console.log(res); } }); } }
jQuery("#grid_id").jqGrid('editRow',rowid, keys, oneditfunc, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);
這裡對以上各個引數的意思做一個簡單的描述jQuery("#grid_id").jqGrid('editRow',rowid, { "keys" : false, "oneditfunc" : null, "successfunc" : null, "url" : null, "extraparam" : {}, "aftersavefunc" : null, "errorfunc": null, "afterrestorefunc" : null, "restoreAfterError" : true, "mtype" : "POST" });
- rowid:當前編輯的rowid
- succesfunc:如果定義了改函式,將會在請求成功呼叫後立即返回,該函式簽名包括server返回的資料。同時該函式需要返回tue/false
- url: 如果定義了改值,將會覆蓋jqGrid中的editurl(當然,如果沒有url和editurl是會報錯的)。如果url="clientArray" 那麼就不會向server端觸發請求,可在後期手動呼叫修改
- extraparam:請求引數列表{name:value, name:value},將會append到requestData中向server端傳送
- aftersavefunc:如果定義了改函式,將會在資料向server端儲存後立即呼叫,該函式接受rowid、response引數。同樣如果是上面的url="clientArray"該函式同樣執行
- errorfunc:如果定義了改函式,將會在資料向server端儲存後呼叫,該函式接受rowid、response引數
- afterrestorefunc:如果定義了改函式,將在restoreRow後呼叫,接受rowid作為引數
saveRow //使用者不需要呼叫該方法,在edit時會自動呼叫
restoreRow //回滾當前editRow
addRow //新增row
inlineNav
$("#addBtn").bind("click", function() {
$("#jqGridId").jqGrid('addRow',{
rowID : "new_row",
initdata : {},
position :"first",
useDefValues : true,
useFormatter : true,
addRowParams : {extraparam:{
}}
});
//當前新增id進入可編輯狀態
$('#jqGridId').jqGrid('editRow','new_row',{
keys : true, //這裡按[enter]儲存
url: s2web.appURL + "jq/save.action",
mtype : "POST",
restoreAfterError: true,
extraparam: {
},
oneditfunc: function(rowid){
console.log(rowid);
},
succesfunc: function(response){
alert("save success");
return true;
},
errorfunc: function(rowid, res){
console.log(rowid);
console.log(res);
}
});
});
轉自http://mj4d.iteye.com/blog/1633462