根据This thread,我使用了.trigger('update')
,并根据this fiddle应用了.trigger('sorton', [dynamicSorting]);
。
排序工作正常,但它重复行并将其预先添加到表中。
我的所有表格html都是动态的,我会像它一样追加它。
$('table.table tbody, table.table thead').empty(); // This was added later to remove existing rows.
$("#success_table_id").html(successful_html);
$("#failure_table_id").html(failure_html);
$("#manual_table_id").html(manual_html);
我知道这不是足够的信息,但希望有人已经面对这个并将其整理出来。
注意:我正在使用tablesorter 2.0.5。
答案 0 :(得分:2)
原始的tablesorter在更新完成后不提供回调,因此您最好的选择是使用setTimeout
来触发度假胜地(demo):
$('table').tablesorter();
$('button').click(function() {
var tbl = '<tr>...</tr>';
var sorting = $('table')[0].config.sortList;
$('table').find('tbody').html(tbl);
$('table').trigger('update');
setTimeout(function(){
$('table').trigger('sorton', [sorting]);
}, 200);
});
如果您使用我的fork of tablesorter,如果resort
option设置为true
(默认设置)(demo),则会自动使用内容:
$('table').tablesorter({
theme: 'blue',
sortList: [[1,0]],
resort: true
});
$('button').click(function() {
var tbl = '<tr>...</tr>';
$('table')
.find('tbody')
.html(tbl)
.trigger('update');
});