我正在实现一个评级系统,在这个系统中,用户可以对条目进行排名。每个条目都有一个排名,初始排名为0。我将此信息存储在数据库中,然后在页面上打印此表,并使用jQuery tablesorter类,因此所有条目都按等级排序。
当用户向上/向下排列一个条目时,我更新数据库中的排名,然后使用ajax显示更新后的排名。每个条目都有一个向上和向下按钮。
我初始化了表排序:
$(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();但似乎什么都不起作用。任何帮助都是非常感谢的。
发布于 2015-06-17 12:28:53
我有一个解决方案,但我不认为这是一个好的解决方案。在用户排名和数据库更新后,我使用了setTimeout函数,它可以工作。
setTimeout(function() {
$('#list_sort').tablesorter({
sortList: [[0,1]],
headers: {
1: {
sorter: false
},
2: {
sorter: false
},
3: {
sorter: false
}
}
})
}, 50);https://stackoverflow.com/questions/30882209
复制相似问题