jqgrid官方API中说了,编辑行模式下,不建议使用 “getRowData” 的方法,事实上用 getRowData 的方法取值为空,或者取值为 html 代码。
以下方法退而求其次,取内存中的数据,即编辑的数据,在html代码中,只是没有展现,直接通过 $(‘#’+rowid+”_indexRule”).val() 可以取值。
暂时不知道能适用多少浏览器。
注意:设置单元格为编辑模式
colModel : [ { name : 'physicalRulesId', index:'physicalRulesId', sortable:false,hidden:true },
{ name : 'businessArea', index : 'businessArea',width:80 },
{ name : 'devFac', index :'devFac', width:80 },
{ name : 'devClass', index : 'devClass',width:80 },
{ name : 'indexClass', index : 'indexClass',width:80 },
{ name : 'indexName', index : 'indexName' },
{ name : 'command', index : 'command' },
{ name : 'indexRule', index : 'indexRule',width:260,editable:true },
{ name : 'normalValue', index : 'normalValue',width:80 },
{ name : 'abnorInflu', index : 'abnorInflu',width:80}],
var rowid = jQuery("#JindexInfoTable").jqGrid('getGridParam', 'selrow');
var rowData = jQuery("#JindexInfoTable").jqGrid('getRowData', rowid);
console.log(rowData.physicalRulesId + $('#'+rowid+"_indexRule").val());
$('#JindexInfoTable').jqGrid('saveRow',rowid,
function(result){
if(result.responseText == ""){
return false;
}
$.messager.alert('提示',eval(result.responseText),'info');
return true;
},
"volteHealth/updateParamRule.do?paramId="+rowData.physicalRulesId+"&indexRule="+$('#'+rowid+"_indexRule").val()
);