Skip to content

Instantly share code, notes, and snippets.

@lamecksilva
Last active April 7, 2019 05:05
Show Gist options
  • Save lamecksilva/8469e3f3ac904b855cf267640f4da4f3 to your computer and use it in GitHub Desktop.
Save lamecksilva/8469e3f3ac904b855cf267640f4da4f3 to your computer and use it in GitHub Desktop.
Terceira versão do script
<script>
function addItem() {
// Pegando os valores dos campos name e qtd
const name = $('input[name=name]').val();
const qtd = $('input[name=qtd]').val();
// Criando objeto com dados dos inputs
const dataObj = { name, qtd };
/*
Todo valor do localstorage é null no inicio (antes de adicionarmos algum valor nele),
Por isso checamos se é null, ou seja, se será o primeiro item a ser adicionado.
*/
if (localStorage.getItem('items') === null) {
// Adicionando um array com um objeto no localstorage
localStorage.setItem('items', JSON.stringify([dataObj]));
} else {
// Copiando o array existente no localstorage e adicionando o novo objeto ao final.
localStorage.setItem(
'items',
// O JSON.parse transforma a string em JSON novamente, o inverso do JSON.strigify
JSON.stringify([
...JSON.parse(localStorage.getItem('items')),
dataObj
])
);
}
renderItem(dataObj);
}
function renderItem(item) {
// Adicionando uma div com o item e a quantidade na div .items
$('.items').append(`
<div class="list-group-item">
<strong>${item.name}</strong> : ${item.qtd}
</div>`);
}
function getItems() {
// Pegando o array do localstorage
const items = JSON.parse(localStorage.getItem('items'));
// Para cada item do array, é renderizado no html
items.forEach(item => renderItem(item));
}
getItems();
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment