Skip to content Skip to sidebar Skip to footer

Apply Plugin To A New Element In The Dom (jquery)

I am using the jquery tablesorter plugin and applies it to a table with id : #table my search facility requests for results via ajax and replaces the table with a new table of the

Solution 1:

you have to re-run $('#table').tablesorter(); after search request completed.

$.ajax({
 type: "POST",
 url: "search.php",
 data: "query=blabla",
 success: function(html){

    // replace old table with new table// re-apply table sorter
    $('#table').tablesorter();

 }

});

Solution 2:

$.live() will not work in this case. You'll need to manually re-apply it to all new tables following the ajax-success.

Solution 3:

You could do

functionnewTable() { // or whatever...var$table = $('<table />'); // create new table$table.tablesorter();
};

Solution 4:

expanding on what Q8-coder said, anything you insert into the dom (even if it was there before) usually must be rebound to any event handlers and functions.

supposedly jQuery's made (or is making) a deep clone of DOM Nodes including the event handlers as well. this would be cool, because it solves this problem.

Post a Comment for "Apply Plugin To A New Element In The Dom (jquery)"