ddevlin1
ddevlin1

Reputation: 45

Deleted row keeps coming back

I'm having trouble deleting a row from my table. It successfully deletes, but upon resorting, the deleted item reappears at the top of my table. It looks like it somehow hasn't been deleted completely. I don't work a lot with Javascript/html so I can't figure out why. Any insight is appreciated!

    function deleteRow(toDelete) {
        var table = document.getElementById("Table");
        var i = 0;
        alert(table.rows.length + "todelete=" + toDelete);
        for (i = 0; i < table.rows.length; i++) {
            if (table.rows[i].cells[4].innerText == toDelete) {
                alert('Deleting Row' + i);
                table.deleteRow(i);
                i--;
            }
        }
        ReSortTable('Table');
    }

Upvotes: 0

Views: 186

Answers (1)

epascarello
epascarello

Reputation: 207517

I do not think this will solve your problem [too much code for a comment], but instead of subtracting one when you delete the row, loop in the opposite direction.

function deleteRow(toDelete) {
    var table = document.getElementById("Table");
    var i;
    alert(table.rows.length + "todelete=" + toDelete);
    for (i = table.rows.length-1; i >= 0 ; i--) {
        if (table.rows[i].cells[4].innerText == toDelete) {
            alert('Deleting Row' + i);
            table.deleteRow(i);                
        }
    }
    ReSortTable('Table');
}

Upvotes: 1

Related Questions