我正在创建一个可以交换表中行的功能。它工作得很好,但刷新页面后,如果我交换了一些行,那么这些行就会返回到交换之前的位置。我想知道,为什么会发生这种情况以及如何避免这种情况。如果有人需要,这是该功能的代码:
swapRows = function(rowTable) {
rowTable.find(".glyphicon-sort").click( function() {
row = $(this).closest("tr");
row.insertBefore( row.prev() );
} );
}
答案 0 :(得分:2)
这种情况正在发生,因为刷新后,您的页面将返回其初始状态(来自服务器或缓存),等等。
要保留状态,您有几个选项:AJAX(以便您没有刷新页面),或HTML5历史状态操作或本地存储等,所有这些都超出了本问题的范围我害怕。
答案 1 :(得分:1)
这种情况正在发生,因为jQuery是一种客户端技术,并且数据不会在请求之间保留。当您刷新页面时,您向服务器发出新请求,然后服务器以新的页面(.html)响应默认状态。 为了在请求之间保存这些数据,您可以使用cookie。