Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Função "removeItem" subtrai por 7 e não por 1

Olá. Não consigo debugar pq na função removeItem não está subtraindo por 1, assim como está na variável novaQuantidade. Ao executar, ele subtrai por 7. Obrigado

<script>
    var removeItem = function(event) {
        event.preventDefault();
        var atual = parseInt($("#quantidade-de-itens").text());
        var novaQuantidade = atual - 1;

        $("#quantidade-de-itens").text(novaQuantidade);
    };

    var aposInicializado = function() {
        var items = $(".item-total");
        var total = 0;

        for (var i = 0; i <= items.length -1; i++) {
            var item = items[i];
            var valor = parseFloat($(item).text());
            total += valor;

            $("#valor-total").text(total);
            $("#quantidade-de-itens").text(items.length);
            $(".remove-item").click(removeItem);
        };
    };

    $(aposInicializado);
</script>
3 respostas

No seu laço for deixe apenas items.length, retire o - 1

Eu deixei este bloco dentro do for. Por isso tava dando pau. Era só tirar pra fora. Obrigado ;)

´´´ $("#valor-total").text(total); $("#quantidade-de-itens").text(items.length); $(".remove-item").click(removeItem) ´´´

solução!

[resolvido]

<script>
    var removeItem = function(event) {
        event.preventDefault();
        var atual = parseInt($("#quantidade-de-itens").text());
        var novaQuantidade = atual - 1;

        $("#quantidade-de-itens").text(novaQuantidade);
    };

    var aposInicializado = function() {
        var items = $(".item-total");
        var total = 0;

        for (var i = 0; i <= items.length -1; i++) {
            var item = items[i];
            var valor = parseFloat($(item).text());
            total += valor;
        };
        $("#valor-total").text(total);
        $("#quantidade-de-itens").text(items.length);
        $(".remove-item").click(removeItem);
    };

    $(aposInicializado);
</script>