I would be extremely grateful if somebody were to point me in the right direction here.
When I use jQuery :eval to update div contents, the browser shows me the updated contents as expected. However, when I look at the source code, I see the old contents. I think this is causing a problem, because buttons embedded in the div no longer work. For example, I could have a table like this: <table> <tr><td>First row</td><td><button type="button" class="delete_it" id="1">Delete it</button></td></tr> <tr><td>Second row</td><td><button type="button" class="delete_it" id="2">Delete it</button></td></tr> </table> I would have a jQuery event set to trigger on click for buttons of class "delete_it." The event sends ajax to the server to delete a row in a linking table. Then the called server side function returns a jQuery command to reload div that contains the table. On first page load, if I click the "Delete it" button in the first row, everything appears to work. The row in the linking table gets deleted and the browser appears to reload the table with the first row absent. Except all is not well. If I then click the Delete it button in row 2, it no longer works. The click no longer fires. If I look at the page source, the first row is still there. I suspect jQuery thinks the page is still in the state it was when document.ready() first fired at page load time. How can I tell jQuery to refresh its view of the document without refreshing the whole page?