title: jqGrid access cell data while it is being edited
body: <p>I'm currently using <code>afterSaveCell</code> to handle manually updating some cells in a grid. I have this working fine if the user uses enter to save the currently editing cell. </p>
  
  <p>Unfortunately, if they click or tab out of the cell they are editing directly into another cell I can no longer grab the cell value of the newly edited cell as <code>getCell</code> will only return the html for the input control.  </p>
  
  <p>In summary, is there any way to access the value of the cell even while it is being edited?</p>
  
  <pre><code>jQuery(document).ready(function () {
      var mydata = [
          {id:"1", invdate:"2007-10-01",name:"test",  note:"note",  amount:"200.00",tax:"10.00",total:"210.00"},
          {id:"2", invdate:"2007-10-02",name:"test2", note:"note2", amount:"300.00",tax:"20.00",total:"320.00"},
          {id:"3", invdate:"2007-09-01",name:"test3", note:"note3", amount:"400.00",tax:"30.00",total:"430.00"},
          {id:"4", invdate:"2007-10-04",name:"test",  note:"note4", amount:"200.00",tax:"10.00",total:"210.00"},
          {id:"5", invdate:"2007-10-05",name:"test5", note:"note5", amount:"300.00",tax:"20.00",total:"320.00"},
          {id:"6", invdate:"2007-09-06",name:"test",  note:"note6", amount:"400.00",tax:"30.00",total:"430.00"},
          {id:"7", invdate:"2007-10-04",name:"test7", note:"note7", amount:"200.00",tax:"10.00",total:"210.00"},
          {id:"8", invdate:"2007-10-03",name:"test8", note:"note8", amount:"300.00",tax:"20.00",total:"320.00"},
          {id:"9", invdate:"2007-09-01",name:"test",  note:"note9", amount:"400.00",tax:"30.00",total:"430.00"},
          {id:"10",invdate:"2007-09-08",name:"test10",note:"note10",amount:"500.00",tax:"30.00",total:"530.00"},
          {id:"11",invdate:"2007-09-08",name:"test11",note:"note11",amount:"500.00",tax:"30.00",total:"530.00"},
          {id:"12",invdate:"",name:"TOTAL",  note:"",amount:"",tax:"",total:""}
      ];
  
      var grid = $("#list");
  
      grid.jqGrid({
          cellsubmit: 'remote',
          cellurl: '/Example/GridSave',
          datatype: "local",
          data: mydata,
          mtype: 'POST',
          colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
          colModel: [
              { name: 'id', index: 'id', width: 65, sorttype: 'int', hidden: true },
              { name: 'invdate', index: 'invdate', width: 120, align: 'center', formatter: 'date', formatoptions: { newformat: 'd-M-Y' }, sortable: false },
              { name: 'name', index: 'name', editable: true, width: 90, sortable: false },
              { name: 'amount', index: 'amount', editable: true, width: 70, formatter: 'number', align: 'right', sortable: false },
              { name: 'tax', index: 'tax', editable: true, width: 60, formatter: 'number', align: 'right', sortable: false },
              { name: 'total', index: 'total', editable: true, width: 60, formatter: 'number', align: 'right', sortable: false },
              { name: 'note', index: 'note', width: 100, sortable: false }
          ],
          rowNum: 1000,
          pager: '#pager',
          viewrecords: true,
          sortorder: "desc",
          caption: "afterSaveCell Issue",
          height: "100%",
          cellEdit: true,
          gridComplete: function () {
              calculateTotal();
          },
          afterSaveCell: function (rowid, name, val, iRow, iCol) {
              calculateTotal();
          }
      });
  });
  
  function calculateTotal() {
      var totalAmount = 0;
      var totalTax = 0;
  
      var grid = jQuery("#list");
  
      var ids = grid.jqGrid('getDataIDs');
      for (var i = 0; i &lt; ids.length; i++) {
          var id = ids[i];
  
          if (grid.jqGrid('getCell', id, 'name') === "TOTAL") {
              grid.jqGrid('setRowData', id, {
                  'amount': totalAmount,
                  'tax': totalTax,
                  'total': totalAmount + totalTax
              });
          }
          else {
              totalAmount += Number(grid.jqGrid('getCell', id, 'amount'));
              totalTax += Number(grid.jqGrid('getCell', id, 'tax'));
          }
      }
  }
  </code></pre>
  
  <p>Thanks in advance! </p>