Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera,
Tenho um array e estou utilizando splice para remover um determinado item escolhido.
Porém, para usar o splice, preciso saber qual o índice do array ele tem que apagar. Aqui que está o problema. Está retornando -1 (ou seja, não encontrado), mas ele existe. A variável "secoes" é um array e ela contém os itens: 25,24,23,22 e vamos supor que quero remover o item 22.
Código completo (O splice está na linha 38 deste código)
// * Seleção de conteúdo
var secoesSelecionado = $("#hdSecaoMaterial").val(); // Valor retornado: 25,24,23,22
if(secoesSelecionado.lenght == 0) // Verifica se as seções selecionadas está vazio
{
var secoes = []; // Se estiver, cria um novo array
} var secoes = secoesSelecionado.split(); // Transforma o valor acima em array
}
$(".selectConteudo").click(function() // Caso clique numa seção $(this).removeClass("inativo").addClass("ativo");
// Seleciona o ID
var novoID = $(this).attr("data-id");
// Cadastra o novo item no array "secoes"
secoes.push(novoID);
}
else if($(this).hasClass("ativo"))
{
// Desmarca no layout
$(this).removeClass("ativo").addClass("inativo");
// Descobre qual o indice que $(this).attr("data-id") está em "secoes"
indexSecao = secoes.indexOf($(this).attr("data-id"));
alert("Seções no array: " + secoes);
alert("Vamos remover o ID: " + $(this).attr("data-id") + " que está no index " + indexSecao);
// Remove do array
secoes.splice(indexSecao,1);
}
else
{
alert("Erro. Contate o administrador do sistema.");
}
// Grava o array em hdSecaoMaterial
$("#hdSecaoMaterial").val(secoes);
return false;
});
Descobri o problema. Esqueci de quebrar a string em array do jeito certo, faltou o item separador.
var secoes = secoesSelecionado.split(","); // Transforma o valor acima em array
Carregando comentários...