2012-08-28 45 views
2

我有以下的内联编辑网格阅读编辑输入值的jqGrid

 
var lastsel; 
$("#mygrid").jqGrid({ 
     data:JqgridResponse.rows, 
     datatype: "local", 
     colNames:['DATE', 'SOURCE', 'DEST', 'FROM', 'TO'], 
     colModel:[ 
        //1140 width 
      {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"}} 
     ], 
     multiselect: true, 
      rownumbers: false, 
     rowNum:10,          
     rowList:[10,50,100],        
     height: "100%", 
     autowidth: true, 
     pager: '#pager',         
      viewrecords: true,        
      sortorder: "desc", 
      ondblClickRow: function(id) {   
       if(id && id!==lastsel){ 
       jQuery('#mygrid').jqGrid('restoreRow',lastsel); 
       jQuery('#mygrid').jqGrid('editRow',id,true); 
       lastsel=id; 
      } 
      } 

    }); 

和导航按钮,它的事件

 
$("#mygrid").navButtonAdd('#pager', 
     { caption:"", 
      buttonicon:"ui-icon-disk", 
      onClickButton: updateLocations, 
      title:"Update Locations", 
      cursor: "pointer" 
     } 
); 

function updateLocations(obj, args){ 
    //how to get the edited data source, dest, from, to ? 
} 

我怎么能得到的“源编辑的输入值“和”dest“,并在updateLocations方法中选择”from“和”to“的值?

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

 
<td aria-describedby="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> 

我错过了什么吗?谢谢。

回答

0

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

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