我正在使用JQuery动态创建表,因为表中的行数取决于配置到我从中提取数据的服务器的代理数量。
表中的统计数据需要是"实时"所以我每秒都用新的统计数据重新创建表格。我正在使用JQuery TableSorter插件 - http://tablesorter.com/docs/ 允许我按照我的要求对表进行排序,但是每次重新创建表时,这都会使排序变得无用。谁能想到解决方案?
这是我创建表的代码。
function addToTable() {
var agentData = getAgentStats();
var ids = getAgentIds();
var names = getAgentNames();
// Add new Row to to table
for(var i =0;i<agentData.length;i++){
$('#StatsContainer').append('<tr><td>'+ids[i]+'</td><td>'+names[i]+'</td><td>'+agentData[i].statistics[13]+'</td><td>'+agentData[i].statistics[3]+'</td>\n\
<td>'+agentData[i].statistics[4]+'</td><td>'+agentData[i].statistics[6]+'</td><td>'+agentData[i].statistics[12]+'</td><td>'+agentData[i].statistics[14]+'</td><tr>');
}
// Let table sorter know that table contents has changed
$("table").trigger("update");
}
提前谢谢。
答案 0 :(得分:0)
没有看到更多代码来获取上下文:
Tablesorter支持向其发送有关如何对表进行排序的控件的功能。
$("#trigger-link").click(function() {
// set sorting column and direction, this will sort on the first and third column the column index starts at zero
var sorting = [[0,0],[2,0]];
// sort on the first column
$("table").trigger("sorton",[sorting]);
// return false to stop default link action
return false;
});
您可以拦截标题点击以记录排序顺序,然后调用tablesorter,如上所示。
一旦你拦截了表的排序方式,就可以在每次重建表格后应用该排序。