I use jQuery Datatable
for listing records and add an Action
button (Edit) for editing the record on a modal dialog. If I select a row I can get the row id value and open the related record on modal dialog. However, if I click the Edit
button directly, I cannot get the Id value of the related record (on the same row) because it is not selected first when clicking Edit
button. What I want to do is that: I want to get the Id value of the row on which I click the Edit button. Is it possible? If not, can I select the hovered row programmatically when I click the Edit
button? (If the prior scenario is possible I would prefer it). Any idea?
function openModal() {
var table = $('#dtbListAccount').DataTable();
var oRow = $('this').parents('tr')[0];
var oData = table.fnGetData(oRow);
//code omitted for brevity
};
You can use this code to achieve this.
It will return row data as a string array.
Live Demo Here
Use the browser console to see the results.
Here's the full source code. Hope this helps :)
Assign the row-id(s) to the edit buttons as well, write click events for the edit buttons which, based on the id of the button clicked on, triggers the edit functionality / view.
You could assign the row-id(s) to the buttons either when rendering itself, or write a small function that does the same on page load.
If the id is on the parent container then find it's value and use it. If it's a sibling then do the same.