當前位置:商標查詢大全網 - 健康百科 - 怎樣獲取編輯後的jqgrid的值

怎樣獲取編輯後的jqgrid的值

參考jqGrid的源代碼,getRowData的實現方法是遍歷tr獲取td的innerhTML。 getRowData在單元格和行編輯模式下受到影響,在表單編輯模式沒問題,因為表單沒有直接修改jqGrid生成輸入對象,而是在新的控件中生成編輯對象。 要想在單元格和行編輯模式下getRowData返回實際的數據行,而不是包含html代碼的內容,可以參考下面的。

對於單元格編輯,需要先還原或者保存此單元格,然後再調用getRowData方法,實現如下

1、給grid添加beforeEditCell事件,聲明2個window域的變量記錄單元格的行號和列號 beforeEditCell:function(rowid,cellname,v,iRow,iCol){ lastrow = iRow; lastcell = iCol; } 2、在調用getRowData獲取數據前,先保存/還原單元格 $("#grid").jqGrid("saveCell",lastrow,lastcell);//保存單元格,切換為文本模式 //或者===> //$("#grid").jqGrid("restoreCell",lastrow,lastcell);//還原單元格,切換為文本模式 var recs=$("#grid").jqGrid("getRowData"); 對於行編輯模式,原理壹樣,還原正在編輯的行或者保存數據到內存中 1,調用editRow時傳遞oneditfunc事件處理函數保存正在編輯的行的id $('#list4').jqGrid('editRow', rowid, true, function (rowid) { window.rowid=rowid; }); 2,在調用getRowData獲取數據前,先保存/還原正在編輯的數據行 jQuery("#grid_id").saveRow(rowid, false, 'clientArray'); //==>或者還原 //jQuery("#grid_id").restoreRow(rowid); var recs=$("#grid").jqGrid("getRowData");