How to get a cell value in JQGrid?

70,677

Solution 1

If you only need the value of a cell that has already been saved, you can get it with this

$('#myTable').jqGrid('getCell',row_id,'column_name');

Solution 2

If you try to get the value of a row while it is being edited, you will retrieve markup (as in your example), instead of the actual value. To quote the jqGrid Documentation for getRowData:

Do not use this method when you editing the row or cell. This will return the cell content and not the actual value of the input element

The best way around this is to save your row data before calling getRowData, although alternatively if that is not an option you will have to parse the markup yourself. Which actually is not that hard to do in jQuery, but is still a pain.

Share:
70,677
Admin
Author by

Admin

Updated on May 28, 2020

Comments

  • Admin
    Admin almost 4 years

    How to get a cell value in JQGrid?

    If I use the following syntax –

    var ret = jQuery("#MyGrid").jqGrid('getRowData', id);
    ret = ret.ProductId;
    

    it returns the following HTML.

    'input class="editable" name=" ProductId " id="0_ ProductId " style="width: 98%;" type="text"'
    

    I actually need the value of the cell.

    Thanks. Dev

  • Justin Ethier
    Justin Ethier almost 14 years
    Code for what, exactly? Please see the documentation for saveRow and getRowData for examples of those methods. If you need to parse out the raw HTML contents of getRowData, you can use jQuery just like you would handle a regular HTML document. If you are going down this road I recommend using FireBug to understand the format of the raw HTML. Unfortunately I do not have a code example handy because I was able to refactor my code to prevent these kinds of situations. But if you paste the HTML I might be able to help you out...
  • timbrown
    timbrown about 10 years
    be careful with the above solution - From the docs - "Do not use this method when you are editing the row or cell. This will return the cell content and not the actual value of the input element". In other words if you have a formatter applied this will return something like <h3>Cell Value Here</h3> jqGrid Docs
  • Csaba Toth
    Csaba Toth over 7 years
    That's great but how to get the value then?
  • Justin Ethier
    Justin Ethier over 7 years
    @CsabaToth - Use getRowData or getCell and save your data before calling them.
  • Csaba Toth
    Csaba Toth over 7 years
    @JustinEthier "before calling them" - you mean before edit?