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

modulo 5 , jQuerry II

O total de itens e valor total fica sempre zero. Alguém pode me ajudar?

var atualizaDados = function(){
            var carrinhos = $('.carrinho');
            carrinhos.each(function(){
                var carrinhos = $(this);
                var itens = carrinho.find('.item-total:visible');
                var total = 0;
                for(var i = 0; i < itens.length; i++){
                    var conteudo =$(itens[i]).text();
                    var preco = parseFloat(conteudo);
                    total += preco;
                }
                carrinho.find('.preco-total').text(total);
                carrinho.find('.quantidade').text(itens.length);    
            })


        }
        var removeItem = function(event){
            event.preventDefault();
            var self = $(this);
            self.closest("tr").hide();
            atualizaDados();
        }
        var aposInicializado = function() {

            $(".remove-item").click(removeItem);
            atualizaDados();
        };
        var undo = function(){
            var carrinho = $(this).closest('.carrinho');

            carrinho.find('tr:visible').removeClass('recuperado');
            var trs = carrinho.find('tr:hidden');
            trs.addClass('recuperado');
            trs.show();
            atualizaDados();
        }
        $(".undo").click(undo);

        $(aposInicializado);
<html>
<head>
    <link rel="stylesheet" type="text/css" href="carrinho.css">
</head>
<body>
    <div class="carrinho">
        <h2>Carrinho entrega em Sao Paulo</h2>
        <table>
            <thead>
                <tr>
                    <td></td>
                    <td>Nome</td>
                    <td>Quantidade</td>
                    <td>Valor</td>
                    <td>Total</td>

                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><img src="imagens/tablet.jpg"></td>
                    <td>Tablet miPad 18</td>
                    <td>1</td>
                    <td>499.99</td>
                    <td class="item-total">499.99</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
                <tr>
                    <td><img src="imagens/telefone.png"></td>
                    <td>Telefone miPhone 18</td>
                    <td>2</td>
                    <td>199.99</td>
                    <td class="item-total">399.98</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
                <tr>
                    <td><img src="imagens/sapato.jpg"></td>
                    <td>Sapato</td>
                    <td>1</td>
                    <td>99.99</td>
                    <td class="item-total">99.99</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
                <tr>
                    <td><img src="imagens/monitor.jpg"></td>
                    <td>Monitor Sam 21</td>
                    <td>1</td>
                    <td>299.00</td>
                    <td class="item-total">299.00</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
                <tr>
                    <td><img src="imagens/teclado.jpg"></td>
                    <td>Teclado com fio preto </td>
                    <td>1</td>
                    <td>100.00</td>
                    <td class="item-total">100.00</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
                <tr>
                    <td><img src="imagens/mouse.jpg"></td>
                    <td>Mouse wireless</td>
                    <td>1</td>
                    <td>199.00</td>
                    <td class="item-total">199.00</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
            </tbody>
        </table>
        <div>
            Total : R$ <span class="preco-total">0</span>
            </br>
            Quantidade: <span class="quantidade">0</span>
        <div>
        <div>
            <input type="button" value="Undo" class="undo"></input>
        </div>

    </div>


        <div class="carrinho">
        <h2>Carrinho entrega em Rio de Janeiro</h2>
        <table>
            <thead>
                <tr>
                    <td></td>
                    <td>Nome</td>
                    <td>Quantidade</td>
                    <td>Valor</td>
                    <td>Total</td>

                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><img src="imagens/camiseta.jpg"></td>
                    <td>Camiseta G</td>
                    <td>1</td>
                    <td>25.00</td>
                    <td class="item-total">25.00</td>
                    <td><a class="remove-item" href="">(remover)</td>
                </tr>
            </tbody>
        </table>
        <div>
            Total : R$ <span class="preco-total">0</span>
            </br>
            Quantidade: <span class="quantidade">0</span>
        <div>
            <input type="button" value="Undo" class="undo"></input>
        </div>

    </div>

    <script src="jquery.js"></script>
    <script src="carrinho.js"></script>





</body>
</html>
2 respostas
solução!

Se colocar um console.log() ali no laço, ele loga? Está entrando mesmo no for?

Na funcao atualizaDados dentro do each mude: var carrinhos = $(this);

//para//

var carrinho = $(this);

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software