views:

656

answers:

1

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

+1  A: 

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.

Justin Ethier
Any code examples\snippets?
Dan
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...
Justin Ethier