2017-09-26 2 views
0

한 페이지에 다른 페이지의 버튼이 있습니다. 이 두 번째 버튼에는 텍스트 "0 items selected"이 있습니다. 첫 번째 버튼을 클릭하면 두 번째 버튼의 숫자가 하나씩 증가합니다.jQuery에서 세션 변수를 사용하려면 어떻게해야합니까?

다른 페이지로 데이터를 전송하는 것을 보면 표준 방식으로 처리하지 못했습니다.

PHP를 제안하지 마십시오. 사용하실 수 없습니다.

+0

localStorage는 배열이 아닙니다. 그것은 대상입니다. 당신은 물체를 증가시킬 수 없습니까? localStorage 안에 변수를 정의하면 작동합니다 :'localStorage.myCounter' (예 : –

답변

1

var yetVisited = localStorage[0]; 
 

 
if ($('.#CallToActionCustomise').click()){ 
 
\t localStorage++; 
 
} 
 
$('.#CallToActionCustomise').click(function(){ 
 
\t $(".Main_MenuButtonReview").append(localStorage); 
 
});
<button class="Main_MenuButtonReview">0 items selected <i class="fa fa-caret-down"></i></button>

당신은 객체가 아닌 배열처럼 로컬 스토리지에 액세스해야합니다.

또한 문자열 값만 저장할 수 있으므로 수학을 수행 할 숫자를 얻으려면 parseInt을 사용해야합니다.

localStorage.setItem('yetVisited', 0); 

$(".Main_MenuButtonReview").text(localStorage.yetVisited + ' items selected'); 

$('.CallToActionCustomise').click(function()){ 
    localStorage.yetVisited = parseInt(localStorage.yetVisited) + 1; 
    $(".Main_MenuButtonReview").text(localStorage.yetVisited + ' items selected'); 
} 

여기는 example입니다.

+0

) 번호가 보이지 않습니다.이 작업을 위해 html에 아무 것도 추가해야합니까? – Dale

+0

if 리스너 내에 이벤트 리스너가 있습니다. 그것은 추가되는 것을 막습니다. 나는 그것을 잡지 못했지만 대답을 업데이트 할 것입니다. – Bricky

+0

아직도 작동하지 않습니다. 내가 뭘 잘못하고 있는지 모르겠다. 그것을 할 다른 방법이 있습니까? – Dale

0

위의 답변 외에도로드 할 때 태그를 초기화해야한다고 생각합니다.

다른 페이지에이 코드를 입력하십시오.

$(document).ready(function() { 
    if (typeof localStorage.yetVisited === 'undefined') { 
     localStorage.setItem('yetVisited', 0); 
    } 
    yetVisited = localStorage.yetVisited; 
    $('.Main_MenuButtonReview').text(yetVisited + ' items selected'); 
}); 

$(document).ready(function() { 
// this area means after your page(document) ready completely. 
}); 
관련 문제