Recuperar multiples key Storage

  • Autor Autor Juanjo87
  • Fecha de inicio Fecha de inicio
J

Juanjo87

Gamma
Diseñador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas, estoy intentado recuperar los datos guardados en el storage, pero no soy capaz.

Tengo esto:
PHP:
<script>
$('ul.capitulos li').on('click', function (e) { // something with the class store clicked
e.preventDefault();

var storeStorageKey2 = $(this).children("a").children("span").children("i.fa-check").attr("id"); // store id of the item 
	
       $(this).children("a").children("span").children("i.fa-check").addClass("current");
       
	   $(this).data('value', storeStorageKey2); 

	 
   localStorage.setItem(storeStorageKey2, $(this).data('value'));
 });
</script>

Que al hacer click en cada elemento de una lista " li li li" se agrega una key con un value en el storage, ejemplo key 1 value 1, key 2 value 2....

el problema lo tengo al intentar recuperar esas keys o values para después, con esos datos, añadirle una clase a un div.

He intentado esto:

PHP:
<script>
 var storeStorageKey2 = localStorage.getItem(storeStorageKey2);
  

    if (storeStorageKey2 != null) {


        $('#' + storeStorageKey2).addClass("current");
    }

</script>

pero no funciona.
Se le ocurre a alguien como puedo solucionarlo?

Así tengo el código completo:

PHP:
<script>
$(document).ready(function () {
$('ul.capitulos li').on('click', function (e) { // something with the class store clicked
e.preventDefault();

var storeStorageKey2 = $(this).children("a").children("span").children("i.fa-check").attr("id"); // store id of the item 
	
       $(this).children("a").children("span").children("i.fa-check").addClass("current");
       
	   $(this).data('value', storeStorageKey2); 

	 
   localStorage.setItem(storeStorageKey2, $(this).data('value'));
 });


var storeStorageKey2 = localStorage.getItem(storeStorageKey2); 
   

    if (storeStorageKey2 != null) { 


        $('#' + storeStorageKey2).addClass("current"); 
    } 
	
});	
</script>

- - - Actualizado - - -

SOLUCIONADO...SOLUCIONADO...SOLUCIONADO...SOLUCIONADO

Pues lo he solucionado así:

PHP:
<script>
$(document).ready(function () {
$('ul.capitulos li a').on('click', function (e) {
e.preventDefault();

var storeStorageKey = $(this).children("span").children("i.fa-check").attr("id");
	
       $(this).children("span").children("i.fa-check").addClass("current");
       
	   $(this).data('value', storeStorageKey); 

	 
   localStorage.setItem($(this).data('value') + ".key", $(this).data('value'));
  
   
 });


for (i=0; i<=localStorage.length-1; i++) {
    key = localStorage.key(i);
    if(key.indexOf(".key") != -1) {
       
	   
	  /* console.log(key +' contiene '+ localStorage.getItem(key) );*/
	    
	   $('#' + localStorage.getItem(key)).addClass("current");
    }
}
  
	
});	
</script>

Funciona bien pero lo veo algo sucio el codigo, me dice alguien como puedo mejorar el código? Por mejorar simplemente, Gracias.
 
Última edición:

Temas similares

A
Respuestas
6
Visitas
586
alexsaporta
A
Atrás
Arriba