Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Remover quantidade de itens real

Como eu faria para pegar o valor da quantidade do item removido para subtrair na quantidade total, ao invés de retirar -1 sempre ?

2 respostas

Não sei se entendi muito bem a questão, Livia. Você quer uma forma de remover itens que não individualmente, mas que você possa selecionar a quantidade de itens a remover?

Desculpe minha confusão, hehe.

solução

Se eu entendi corretamente, você quer saber a quantidade da linha que você quer apagar.

Creio que você pode fazer isso seguindo o mesmo conceito usado para calcular os totais. Quando eu fiz o curso, os totais estavam marcados com uma classe chamada "item-total". Você poderia pegar a coluna de quantidade e colocar uma marcação de classe para ela. Por exemplo, "item-quantidade".

A sua função de remover poderia ficar assim:

 var removeItem = function(event) { 
        event.preventDefault();

        var self = $(this); 
        var quantidade = self.closest("td .item-quantidade").text(); //Quantidade da linha que vou apagar.
        self.closest("tr").remove(); 

        atualizaDados();
    };

Para refazer o calculo das quantidades, você pode seguir o mesmo conceito usando na função atualizaDados() para atualizar os valores totais. Algo assim:

var items = carrinho.find(".item-quantidade");
                var total = 0;
                for(var i=0; i < items.length; i++) {
                        var conteudo = $(items[i]).text();
                         var quantidade = parseFloat(conteudo);
                       total += quantidade;
                }
                alert('Quantidade de produtos' + total);