How to get a cell value in JQGrid?
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.
Admin
Updated on May 28, 2020Comments
-
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 almost 14 yearsCode for what, exactly? Please see the documentation for
saveRow
andgetRowData
for examples of those methods. If you need to parse out the raw HTML contents ofgetRowData
, 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 about 10 yearsbe 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 over 7 yearsThat's great but how to get the value then?
-
Justin Ethier over 7 years@CsabaToth - Use
getRowData
orgetCell
and save your data before calling them. -
Csaba Toth over 7 years@JustinEthier "before calling them" - you mean before edit?