Opening the editor to remove all table rows doesn't remove after confirmation
Opening the editor to remove all table rows doesn't remove after confirmation
Link to test case:
Sorry, it's not on a public place.
Debugger code (debug.datatables.net):
tblX
Data source: Ajax
Processing mode: Client-side
Draws: 3
Columns: 4
Rows - total: 2
Rows - after search: 2
Display start: 0
Display length: 10
Error messages shown:
none
Description of problem:
I have a table tblX with an editor editorX that runs absolutely fine. I can add select rows and press the Delete
button (having text 'Delete'), and then the selected rows are removed from the table, and the Ajax request received by the server contains the
data of the removed instances. Example trace:
Data from Ajax:
data[13][ID] =13
data[13][PropA] =6656
data[13][PropB] =1
data[11][ID] =11
data[11][PropA] =6456
data[11][PropB] =2
action =remove
Now, I want to have a button 'Delete All' that selects all rows and opens the editor with the prompt to ask if s/he is sure,
and I created this code:
function funcEmptyX() {
var table = $('#tblX').DataTable();
table.rows().select();
editorX
.remove(table.rows({ selected: true }))
.title('Delete all: Are you sure?')
.buttons('remove')
.open();
}
The effect is that all rows are selected, the editor opens with the prompt as the title and a button having text 'remove',
but if I press it, no rows are removed and the Ajax request received by the server is empty (it looks like this:
Data from Ajax:
action =remove
How could I open the editor in 'remove' mode just as if it was started by pressing the table's 'Delete' button?
This question has an accepted answers - jump to answer
Answers
What’s the response from the server to the Ajax return to delete all the rows please?
Thanks,
Allan
Hi Allan, I'm using only clientside of Editor. So my own code answers (it fills "error" part of it's answer: No data received from POST request).
The point is that if I use the Editor's standard Remove dialog, and press 'Delete', then the selected rows are clientside removed from table and the data is sent by Ajax to be removed serverside. However if the Editor is opened by my code in my post, and I press 'remove', no rows are removed from table and only an empty POST request is sent (with "action=remove" but without the data). Thanks.
I think I'll need to be able to see the page to be able to debug it - could you give me a link to it please?
Thanks,
Allan
Hi Allan, thanks for your time.
I use this in a non-public-accessible place, and I wouldn't know how to isolate-abstract the case to some public place. But this weekend, I will try to build this in in one of your examples, and see what happens. (Maybe I even find the answer this way, but I think not). I'll get back to you.
regards, Jan Willem
Hi again, I now found how to make it work, from other forum posts.
so I have to add ".indexes()" to the .remove line.
This actually does not feel too intuative to me, but anyway it works. I am under the impression ".indexes()" is the solution for quite some issues.
Thanks, regards, Jan Willem de Pater
Excellent, thanks for reporting back,
Colin