2009-12-18 53 views
2

我使用jQuery tablesorter插件并将其与ID适用于表:#table应用插件的DOM(jQuery的)的新元素

用于通过AJAX结果我的搜索功能请求,并与替换表同一ID

的新表,如果我的代码是这样的:

$('#table').tablesorter(); 

我怎么添加应用,使新的表插件工作? (我知道jquery的现场活动,但是我怎么在这种情况下使用它?)

回答

4

你有搜索请求完成后,重新运行$('#table').tablesorter();

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

    // replace old table with new table 

    // re-apply table sorter 
    $('#table').tablesorter(); 

} 

})。

0

$ .live()在这种情况下不起作用。您需要手动将它重新应用到所有新表。Ajax的成功

0

你可以做

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

扩展到Q8-编码器说的东西,你插入到DOM的任何东西(即使它之前有)通常必须反弹到任何事件处理程序和函数。

据说,jQuery制作了(或正在制作)DOM节点的深层克隆,包括事件处理程序。这很酷,因为它解决了这个问题。