Os cuento un poco de que va la historia.
Tengo una web donde en un apartado tengo un select y un input y un submit.
La cuestión es que al darle al botón me genere una cookie en localStorage para después trabar con ella.
Hasta aquí todo correcto.
Ahora bien, la web tiene un carrito y cada cookie que genero corresponde a un elemento de compra.
La cosa es que si la gente edita ese mismo producto tengo que modificar la cookie (cosa que todavía no me he puesto a hacer porque antes quería solucionar el siguiente problema), pero si la gente selecciona otra variante del select generaría un producto nuevo (eso ya esta resuelto) con su nueva cookie correspondiente(este es el problema).
Aquí os dejo el código que estoy usando:
Código:
Estoy usando un contador para referenciar la cookie con una linea del carrito y poder luego trabajar con dicha cookie, pero ya se que esta mal(era a que lo tuvierais en cuenta). Pensé en trabajalo con php por ejemplo así://// compruebo que la cookie 'area' esta vacia area = JSON.parse(localStorage.getItem('area')); /// si esta vacia es un producto nuevo if (area == 'undefined undefined') { counter = '1'; console.log(counter); var ancho = $('.input-ancho').val(); /// el campo input var area = $('#variant-Area-adhesivos-imanes option:selected').html(); ///el select area = counter+' '+area+' '+ancho; localStorage.setItem('area', JSON.stringify(area)); counter++; console.log(counter;); /// si no esta vacia es un producto nuevo }else{ counter = '2'; var ancho = $('.input-ancho').val(); var area = $('#variant-Area-adhesivos-imanes option:selected').html(); area = counter+' '+area+' '+ancho; localStorage.setItem('area'+counter, JSON.stringify(area)); counter++; console.log(counter); };
Código:
El codigo anterior se lo estoy asignando a un evento click del submit si quereis os lo pongo pero no tiene mas. area = JSON.parse(localStorage.getItem('area')); <?$counter = '1';?> if (area == 'undefined undefined') { //counter = '1'; console.log(<? echo $counter;?>); var ancho = $('.input-ancho').val(); var area = $('#variant-Area-adhesivos-imanes option:selected').html(); area = <?$counter?>+' '+area+' '+ancho; localStorage.setItem('area', JSON.stringify(area)); <?$counter++;?> console.log(<? echo $counter;?>); }else{ // counter = '2'; var ancho = $('.input-ancho').val(); var area = $('#variant-Area-adhesivos-imanes option:selected').html(); area = <?$counter?>+' '+area+' '+ancho; localStorage.setItem('area'+<?$counter?>, JSON.stringify(area)); <?$counter++;?> console.log(<? echo $counter;?>); };
Espero haberme explicado sino preguntarme.
¿Podéis darme algún consejo?
Gracias de antemano!!