Actualmente estoy tratando de permitir que los usuarios ingresen un valor que luego se agrega a un total y luego se almacena localmente. Quiero permitir que el usuario cargue su total anterior y luego agregue más a través de la misma entrada.
Lo que realmente sucede es que cuando el usuario carga en la página, el valor previamente almacenado se carga como una cadena. No estoy seguro de cómo cambiar esto a un número entero para que el usuario pueda agregarle otro número entero. Este total actualizado debe mostrarse en un elemento html.
//Load current total or set to 0 var calories = localStorage.getItem("calorieCount") || 0; //Display current total $('[id=calorieCount]').html(calories); //On add $('#calorie-add').click(function () { //Take current total and add user input calories += parseInt(document.getElementById('adjust-input').value); //Update current total to local storage localStorage.setItem('calorieCount', calories); //Display new total $('[id=calorieCount]').html(calories); });Entiendo que todo lo que se almacena localmente se almacena como una cadena, pero he visto personas que mencionan analizarlo en un número entero y permitir que los usuarios manipulen el número. Pero no estoy seguro de cómo han logrado esto.
Cualquier ayuda es muy apreciada :D
Debe analizar el valor de almacenamiento local como un int la primera vez que lo cargue de esta manera:
var calories = parseInt(localStorage.getItem("calorieCount")) || 0;En este caso, lo que puede hacer es analizar la cadena localStorage.getItem("caloríasCount") como un número usando la función Number(), cambiar el valor según la entrada del usuario y luego guardar el nuevo valor en localStorage. Intenta usar este código:
var calories = Number(localStorage.getItem("calorieCount")) || 0; $('[id=calorieCount]').html(calories); $('#calorie-add').click(function () { calories += Number(document.getElementById('adjust-input').value); //Update current total to local storage localStorage.setItem('calorieCount', calories); //Display new total $('[id=calorieCount]').html(calories); });