Restore Multiple Detached Elements in JQuery
Asked Answered
R

3

2

I have a link inside of a table that, when clicked, removes the entire parent tr. I am using detach() for the purposes of restoring that item later based on an event.

Typically, one would store this as a variable, then recall it later and have it append() later, but what if I need to restore multiple rows?

There is no .= method to add more to a variable is there?

JSFiddle = http://jsfiddle.net/nErDy/

Rosaliarosalie answered 21/8, 2012 at 16:6 Comment(0)
G
8

Why not use an array?

var deleted = [];
//Allow people to delete rows
$('a.delete').click(function() {
    deleted.push($(this).parent().parent().detach());
});

//Restore all
$('a.restore').click(function() {
    $.each(deleted, function(i, v) {
        $('#teams').append(v);
    });
});​

http://jsfiddle.net/wirey00/nErDy/2/

Grouch answered 21/8, 2012 at 16:11 Comment(0)
B
1

you should use an array to store all the dettached items: http://jsfiddle.net/nErDy/1/

Brunn answered 21/8, 2012 at 16:11 Comment(0)
I
1

What everyone else said, use an array. Also, move the css for odd rows into an actual css, so it respects the deleted rows.

#teams tr:nth-child(even) td { background-color : #cecece }​

http://jsfiddle.net/44Qab/

Iorgo answered 21/8, 2012 at 16:17 Comment(1)
Nice catch. I appreciate your response.Rosaliarosalie

© 2022 - 2024 — McMap. All rights reserved.