2014-04-09 2 views
0

사용자가 테이블의 페이지 매김 페이지를 통해 "돌아갈"수있는 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임을 알리는 경고가 표시됩니다. 함수가 시작/종료 될 때마다 배열이 다시 초기화되는 것처럼 보입니다. 왜 이것이 이것을 고칠 수있는 방법입니까?

미리 감사드립니다. 당신이 제안이 있었다의 스크립트와

+0

이 바이올린이 맞습니까? http://jsfiddle.net/B4t38/ – algoni

+1

링크를 클릭하고 양식을 제출하십시오 ... 링크를 클릭하면 현재 페이지를 떠나지 않았습니까? –

답변

0

덕분에 박사 몰리

페이지는, 사실, 제출 아약스 각에 다시로드된다. 부모 자바 JSP로 내 javascript 변수 선언을 이동하고 지금 예상대로 작동하는 것 같습니다. 고맙습니다.

관련 문제