今天遇到最奇葩的问题,竟然取不到input的值,感觉世界观都颠覆了。后来一搜资料,又是jqgrid框架搞的鬼,真搞不明白,开发框架就好好开发框架,留这么多坑有意思吗?
jqgrid编辑模式下不要调用getRowData,要不得到数据行列信息包含的是单元格的innerHTML,而不是实际输入控件的值。getRowData的实现方法是遍历tr获取td的innerhTML。getRowData在单元格和行编辑模式下受到影响,在表单编辑模式没问题,因为表单没有直接修改jqGrid生成输入对象,而是在新的控件中生成编辑对象。
要想在单元格和行编辑模式下getRowData返回实际的数据行,而不是包含html代码的内容:
解决办法:
在取input所在行之前:
1 var rowData = jqgrid.jqGrid("getRowData",rowid);
先保存行
1 jqgrid.saveRow(rowid);