今天有項目需求,需要直接在jqGrid上編輯資料,可以采用按鈕方式送出(該篇不涉及這種方式),這裡說的直接切換焦點後送出,剛開始設定cellurl後,不知道怎麼傳遞參數到伺服器,查了查官方網站,用自帶的事件beforeSubmitCell即可傳遞,前端代碼如下:
// 單元格編輯
cellEdit:true,
cellurl:"../../../param/updateCell.do",
beforeEditCell :function(rowid, cellname, value, iRow, iCol){
// 記錄修改之前的代碼名稱
oldCodeName = value;
},
beforeSubmitCell :function(rowid, cellname, value, iRow, iCol){
// 傳遞參數
return {"oldValue" : oldCodeName,"newValue" : value,"dmlb" : dmlbTemp};
},
controller裡對應方法如下
@RequestMapping("/updateCell.do")
@ResponseBody
public String saveCell(String oldValue,String newValue,String dmlb) {
//實作
}
官方網站:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:cell_editing#what_is_posted_to_the_server