There are a few jQuery plugins (jqgrid, DataTables, etc.) for displaying data in a html table with advanced features. The ones that have a live editing ability either store the mysql row id in the table itself (and make it uneditable), or as something like a row id in the source.
I have also read that revealing anything about your database design is a bad idea.
Is revealing a mysql row id in source code or the table itself a big deal? Does it just depend on the sensitivity of the data?
Would it be better to have a hash table in the javascript that matches an html table row id with a mysql row id?
If you are depending on the “obscurity” of your data model to protect you against problems like SQL Injection, you will be sorely disappointed. Also, if you are not sanity checking values that the user is providing (a rowid to update, for instance), you will have gaping holes in your application. This is independent of what you use to identify data in your application. The primary key, in and of itself, is not generally sensitive data.
In short, using the row id to identify data coming from your user through your app is not a problem providing you are sanity checking user input like you need to do anyway. As a note of caution, you can run into some problems if you are displaying the ids in the URL as users tend to bookmark pages in the most strange places. It doesn’t sound like you’re wanting to do that though.
See Should I obscure primary key values? for a related discussion.