2

我有以下内联可编辑网格

var lastsel;
$("#mygrid").jqGrid({
        数据:JqgridResponse.rows,
        数据类型:“本地”,
        colNames:['DATE', 'SOURCE', 'DEST', 'FROM', 'TO'],
        col型号:[   
                  //1140 宽度
            {name:'time', index:'time', width:170 ,sortable:false},
            {name:'source', index:'source', width:290,sortable:false,editable:true,editoptions:{size:"33",maxlength:"50"}},
            {name:'dest', index:'dest', width:290,sortable:false,editable:true,editoptions:{size:"33",maxlength:"50"}},
            {name:'from', index:'from', width:170,sortable:false,editable:true, edittype:"select",editoptions:{value:"us:US;gb:GB;fr:FR"} },
            {name:'to', index:'to', width:170,sortable:false,editable:true, edittype:"select",editoptions:{value:"us:US;gb:GB;fr:FR"} }
        ],
        多选:真,
            行号:假,
        行号:10,                                      
        行列表:[10,50,100],                            
        高度:“100%”,
        自动宽度:真,
        寻呼机:'#pager',                                
            观看记录:真实,                              
            排序顺序:“desc”,
            ondblClickRow:函数(id){           
                if(id && id!==lastsel){
                jQuery('#mygrid').jqGrid('restoreRow',lastsel);
                jQuery('#mygrid').jqGrid('editRow',id,true);
                lastsel=id;
            }
            }

    });

还有一个导航按钮及其事件

$("#mygrid").navButtonAdd('#pager',
        { 标题:””,
            buttonicon:"ui-icon-disk",
            onClickButton:更新位置,
            标题:“更新位置”,
            光标:“指针”
        }
);

函数更新位置(obj,args){
    //如何获取编辑后的数据源,dest,from,to?
}

如何在 updateLocations 方法中获取“source”和“dest”的编辑输入值以及“from”和“to”的选定值?

我试图在 Firebug 中找到已编辑的行,但输入根本没有值!例如对于“来源”

<td aria- describeby="mygrid_source" title="N-finger" style="" role="gridcell">
<input id="36_source" class="editable" type="text" size="33" maxlength="50" name="sourcespan" role="textbox">
</td>

我错过了什么吗?谢谢。

4

1 回答 1

0

您应该使用saveRow来保存任何编辑;调用restoreRow只会将该行恢复为之前的值。

我不相信有一种方法只能获取您的更改,但是您可以使用具有顶级范围的数组来跟踪所有更改的行。然后您需要修改ondblClickRow以使用该数组来跟踪已修改的每个行 ID。然后,updateLocations您可以使用getRowData获取这些行中的每一行的数据,并(例如)通过 POST 将其保存到服务器。

于 2012-08-28T13:41:26.667 回答