我正在实施一个评级系统,用户可以在其中对参赛作品进行排名。每个条目都有一个排名,最初排名为0.我将此信息存储在数据库中,然后我在页面上打印此表,并使用jQuery tablesorter类,因此所有条目都按排名排序。
当用户对条目进行排名/缩小时,我更新数据库中的排名,然后使用ajax显示更新的排名。每个条目都有一个向上和向下按钮。
我已经初始化了tablesorter:
$(function() {
$('#list_sort').tablesorter({
sortList: [[0,0]], // allow sorting on the ranking column only
headers: {
1: {
sorter: false
},
2: {
sorter: false
},
3: {
sorter: false
}
}
})
});
向上和向下按钮有一个onClick事件,它调用一个更新数据库的函数,然后使用ajax更新排名,但我想在更新后对其进行排序。
我尝试了几种方法,包括:
$('#list_sort').trigger("update");
和
lastSortList = $("#list_sort")[0].config.sortList;
$("#list_sort").trigger("#list_sort", [lastSortList]);
$('#list_sort').tablesorter();
但似乎没有任何效果。任何帮助表示赞赏。
答案 0 :(得分:0)
我有一个解决方案,但我不认为这是一个很好的解决方案。我用了 用户排名后数据库更新并运行后的setTimeout函数。
setTimeout(function() {
$('#list_sort').tablesorter({
sortList: [[0,1]],
headers: {
1: {
sorter: false
},
2: {
sorter: false
},
3: {
sorter: false
}
}
})
}, 50);