Lion King
Lion King

Reputation: 33813

Remove multi selected rows from table

I want to remove multi rows from table, and I have used the following code but does not work.
I'm use DataTables v1.10.9.

$('#del_Btn').on('click', function () {
    // 'table' is the instance of table object
    table.row('.selected').remove().draw(false);
}

Full code:

$('#del_MembersBtn').on('click', function () {

if (confirm('Do you want to remove the selected items ?') === true) {
    var selRows = RemoveFromGroupTable.rows({selected: true}).data().pluck(0); // return an object contains selected rows
    var selRowsLength = selRows.length;
    var rows = new Array();
    for (i = 0; i < selRowsLength; i++) {
        rows.push(selRows[i]);
    }

    // remove the selected rows from table
    RemoveFromGroupTable.rows('.selected').remove().draw(false);
    var inputData = {};
    inputData.selectdRows = rows;
    inputData.submit = Math.floor(Math.random() * 10) + 1;
    $.post(myProp.base_url + 'directory/class/method', inputData, function (outputData) {
        if (outputData.submit == outputData.submit) {
            tips();
        }
    }, 'json');
}

} });

What can I do to remove multi selected rows ?

Upvotes: 2

Views: 659

Answers (1)

Gyrocode.com
Gyrocode.com

Reputation: 58880

SOLUTION

Use rows to select multiple rows from the table as shown below

$('#del_Btn').on('click', function () {
    table.rows('.selected').remove().draw(false);
}

If the button is located inside the table, it would be necessary to use delegated event handler as follows:

$('#example').on('click', '#del_btn', function () {
    table.rows('.selected').remove().draw(false);
}

where example is your table ID.

DEMO

See this jsFiddle for code and demonstration.

Upvotes: 1

Related Questions