2017-09-26 3 views
0

J'ai un bouton sur une page d'un autre bouton sur une page différente. Ce deuxième bouton contient le texte "0 éléments sélectionnés". Lorsque le premier bouton est cliqué, je veux augmenter le nombre dans le deuxième bouton par un.Comment utiliser les variables de session avec jQuery?

Voyant qu'il transfère des données sur différentes pages, je n'ai pas réussi à le faire de façon standard.

S'il vous plaît ne pas suggérer PHP, je suis incapable de l'utiliser.

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>

+0

localStorage n'est pas un tableau. c'est un objet. vous ne pouvez pas incrémenter un objet? définir une variable dans le localStorage et cela fonctionnera: 'localStorage.myCounter' par exemple –

Répondre

1

Vous devez accéder localStorage comme si elle était un objet, pas un tableau. En outre, vous ne pouvez stocker que des valeurs de chaîne. Pour obtenir un nombre sur lequel effectuer des calculs, vous devez utiliser 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'); 
} 

Voici un example.

+0

Ne semble pas montrer le nombre, ai-je besoin d'ajouter quelque chose au html pour ce travail? – Dale

+0

Vous avez votre écouteur d'événement dans une instruction if. Cela l'empêche d'être ajouté. Je ne l'ai pas compris, mais je vais mettre à jour la réponse. – Bricky

+0

Ne fonctionne toujours pas désolé. Je ne suis pas sûr de ce que je fais mal. Y a-t-il un autre moyen de le faire? – Dale

0

En plus de la réponse ci-dessus, je pense que vous devez initialiser une balise lors de son chargement.

Placez ce code sur une autre page.

$(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. 
});