0
I need to make a manipulation of localStorage
and I don’t know how to remove an item from an index. I’m very beginner in the subject and I don’t know how to pass this information to the button.
Follows the code:
var base;
//verifica se tem alguma "KEY" no localStorage criada com o nome de 'base'
if (localStorage.getItem("base") != null) { // caso retorne nula
//a base vai converter a String em parenteses para exibir como KEY mais pra frente
base = JSON.parse(localStorage.getItem("base"));
} else {
//caso ja esteja criada, declara a base como um vetor;
base = {
dados: []
};
}
$(document).ready(function () {
$("#btncadastrar").click(cadastrar);
$("#btnlistar").click(listar);
$("#btnlimpar").click(limpar);
$(".excluir").click(function () {
excluir();
alert("test")
});
});
function cadastrar() {
if ($("#tarefa").val() != "") {
//base de dados armazena em um array que é chamado pela base, que contem dados, e informa que o atributo recebido sera uma TAREFA:(variavel)
base.dados.push({ tarefas: $("#tarefa").val() });
//converte os valores por uma String JSON
localStorage.setItem('base', JSON.stringify(base));
$("#idlistar").val("");
$("#tarefa").val("");
} else {
alert("Insira alguma tarefa")
}
}
function listar() {
$("#idlistar").empty();
if (localStorage.length > 0) {
base = JSON.parse(localStorage.getItem("base"));
//inserindo em uma lista que inici no UL
$("#idlistar").append(`<ul class="list-group list-group-flush" id="addlistaitem">`);
for (var i = 0; i < base.dados.length; i++) {
//dentro, vai inserir as linhas da lista de acordo com os dados puxados do localstorage
//aqui no append eu também criei um botão, que formatei ele dentro do css pra deixar aquele botãozinho laranja
//passar função d excluir quando clicar naquele botão tbm
$("#idlistar").append(`<li class="border-1" class="list-group-item mb-2">${base.dados[i].tarefas}<input onClick="excluir()" type="button" class="excluir" value="x"></li>`)
}
//finaliza a ul(lista)
$("#idlistar").append(`</ul>`);
}
}
function excluir() {
localStorage.setItem('base', JSON.stringify(base));
for (var i = 0; i < base.dados.length; i++) {
localStorage.removeItem(base.dados[i].tarefas);
}
}
function limpar() {
localStorage.clear();
$("#idlistar").empty();
}
"remove an item from an index" - how so ? Want to remove an item from an array ? It was not very clear what that statement means.
– Isac
See this link from stackoverflow
– user4701