사용자가 테이블의 페이지 매김 페이지를 통해 "돌아갈"수있는 jquery 코드가 있습니다. 사용자는 테이블 페이지 1로 이동 한 다음 6을 누른 다음 5를 클릭하고 "뒤로"버튼을 클릭하면 테이블 페이지 6으로 이동 한 다음 다시 1로 이동합니다. 스택을 사용하여 구현하고 있습니다.jquery 함수에서 Javascript 스택이 올바르게 업데이트되지 않는 이유는 무엇입니까?
<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>
내 콘솔이 클릭 할 때 "는 .pagelinks"때마다 currentPager이 밀려 있지만, 크기가 항상 하나라는 것을 알려줍니다 : 여기에 코드입니다. pageBack()이 호출되면 pagerStack의 크기가 0임을 알리는 경고가 표시됩니다. 함수가 시작/종료 될 때마다 배열이 다시 초기화되는 것처럼 보입니다. 왜 이것이 이것을 고칠 수있는 방법입니까?
미리 감사드립니다. 당신이 제안이 있었다의 스크립트와
이 바이올린이 맞습니까? http://jsfiddle.net/B4t38/ – algoni
링크를 클릭하고 양식을 제출하십시오 ... 링크를 클릭하면 현재 페이지를 떠나지 않았습니까? –