2
respostas

Incremento não funciona

Nos estudos dessa aula, a parte de incremento do pedido nao funciona, já baixei o projeto, troquei de browser e nada o pior é que não retorno erro no console no navegador.

segue o trecho do index e app.js

<div id="bolos" class="section">
        <h6 class="container brown-text">Fatia</h6>
        <div class="collection">
            <a class="collection-item waves-effect black-text">Só de Cenoura</a>
            <a class="collection-item waves-effect black-text">Com Nutella</a>
            <a class="collection-item waves-effect black-text">De Brigadeiro</a>
            <a class="collection-item waves-effect black-text">Açucarado</a>
        </div>

        <h6 class="container brown-text">Inteiro</h6>
        <div class="collection">
            <a class="collection-item waves-effect black-text">Só de Cenoura inteiro</a>
            <a class="collection-item waves-effect black-text">Com Nutella inteiro</a>
            <a class="collection-item waves-effect black-text">De Brigadeiro inteiro</a>
            <a class="collection-item waves-effect black-text">Açucarado inteiro</a>
        </div>
    </div>

app.js

$('.collection').on('click', '.collection-item', function(){

        var $badge = $('.badge', this);
        if ($badge.length === 0) {
            $badge = $('<span class="badge brown-text">0</span>')
                        .appendTo(this);
        }

        $badge.text(parseInt($badge.text()) + 1);

    });
2 respostas

Você verificou se realmente esse trecho está sendo executado?

Coloque um console.log em algum lugar desse javascript e verifique se aparece.

Rafael, tive o mesmo problema, o código a seguir deu certo aqui, teste aí:

$('.collection').on('click', '.collection-item', function(){

        var $badge = $('.badge', this);
        if ($badge.length === 0) {
            $badge = $('<span class="badge brown-text">0</span>')
                        .appendTo(this);
        }

        $badge.text(parseInt($badge.text()) + 1);

    })

.on('click', '.badge', function() {
        $(this).remove();
        return false;
    });