我有一些jquery代码,允许用户返回"通过表格的分页页面。这个想法是用户可以转到第1页,然后是第6页,然后是第5页,然后点击"返回"按钮会将它们引导回第6页,然后是1.我使用堆栈实现此功能。这是代码:
<script>
var currentPager = 'pager1';
var pagerStack = [];
$(function() {
//display tag
$(".pagelinks a, .sortable a").each(function(index) {
var href = $(this).attr('href');
$(this).attr('href', '#displayTable');
var pagenum = $(this).text();
$(this).attr('id', 'pager' + pagenum);
$(this).click(function() {
$("#reconForm").attr('action', href);
$("#reconForm").submit();
pagerStack.push(currentPager);
currentPager = $(this).attr('id');
console.log(pagerStack.length);
return false;
});
});
});
function pageBack() {
alert(pagerStack.length);
//Do pagerStack.pop() here eventually
}
</script>
我的控制台告诉我,只要&#34; .page链接a&#34;单击,推送currentPager,但大小始终为1。当调用pageBack()时,警报告诉我pagerStack的大小为0.似乎每次函数开始/结束时都会重新初始化该数组。为什么这样,有没有办法解决它?
提前致谢。
答案 0 :(得分:0)
感谢Molle博士
实际上,正如您所建议的那样,在每个ajax提交中重新加载包含脚本的页面。我将我的javascript变量declrations移动到父jsp中,现在它似乎正在按预期工作。谢谢。