jqgrid编辑行数据及保存行数据的取值

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()
             );

你可能感兴趣的:(前端)