Inline edit breaks when switching between tabs
Inline edit breaks when switching between tabs
I am using datatables inline edit with tablinks. When I switch between tabs, from the default tab with the inline edit table to a new tab and then back to the default tab the editor stops working. In the console I get the following error. "Uncaught Cannot edit more than one field inline at a time". How can I fix this issue? I can not find any documentation online where someone is having the same issue.
I am creating and destroying the datatables like this on the onclick for my tabs. The tables reinitialize just fine, except the inline edit no longer works until I refresh the page.
rfpworking();$('#rfphistory').dataTable().fnDestroy();rfphistory();
Answers
Hi @ztaylor1990 ,
I suspect you would need to also
destroy()
the Editor instance when you recreate the tables. If that doesn't work, are you able to link to your page?Cheers,
Colin
My page requires a login and is on my companies server. This is my default tab where the inline edit is working.
As soon as I switch tabs and then switch back to my default the inline edit no longer works and I receive this message. Uncaught Cannot edit more than one field inline at a time
I tried the destroy (editor.destroy();) but then I get the following error. Cannot read property 'destroy' of undefined
I believe this is the part of the datatable that is not working correct?
So I am not sure where I am supposed to destroy the editor and furthermore how do I reinitialize it?
It sounds like you're holding open an edit one switching tabs, but without seeing the problem, it's really shooting in the dark. I appreciate you can't give access to your site, but could you create a simplified test case (maybe based on this) that demonstrates the issue?
I found the problem when troubleshooting the live.datatable link with my project.
I had my function inside the inline edit call.
// Activate an inline edit on click of a table cell
$('#rfpworking').on( 'click', 'tbody td', function (e) {
editor.inline(rfpworking.cell( this ).index(), {
onBlur: 'submit',
I removed it and it works just fine now.
// Activate an inline edit on click of a table cell
$('#rfpworking').on( 'click', 'tbody td', function (e) {
editor.inline( this ).index(), {
onBlur: 'submit',
} ;
} );
Thanks
Correction to the above comment this is what fixed my issue..
// Activate an inline edit on click of a table cell
$('#rfpworking').on( 'click', 'tbody td', function (e) {
editor.inline(this), {
onBlur: 'submit',
} ;
} );