Last active
April 7, 2019 05:05
-
-
Save lamecksilva/8469e3f3ac904b855cf267640f4da4f3 to your computer and use it in GitHub Desktop.
Terceira versão do script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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