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

Atualizar placar ao remover linha

Olá! Gostaria de entender melhor a questão da remoção da linha, pois não ficou muito claro para mim. Em qual momento, ao clicar no ícone de exclusão a função removeLinha chama a função atualizaPlacar? Quem fica escutando o evento da exclusão é removeLinha(), sendo assim, como ela pode atualizar o placar?

function atualizaPlacar(){ $.get("http://localhost:3000/placar",function(data){ $(data).each(function(){ var linha = novaLinha(this.usuario, this.pontos); linha.find(".botao-remover").click(removeLinha); $("tbody").append(linha); }); }); }

4 respostas

Olá Ivanostik,

A função atualizaPlacar que chama a função removeLinha quando clicado no ícone da lixeira.

function atualizaPlacar(){

    $.get("http://localhost:3000/placar", function (data) {

        $(data).each(function () {

            var linha = novaLinha(this.usuario, this.pontos)

            linha.find(".botao-remover").click(removeLinha);

            $("tbody").append(linha);
        });
    });
}

Na primeira linha voce pega os elementos via GET.

Na segunda percorre cada elemento do array.

Na terceira linha é atribuído a variável linha a função que retorna uma nova linha. Só que essa linha vem sem a função removeLinha associada a ela. Por isso devemos atribuir ao objeto linha a função removeLinha.

Então quando voce chama a função atualizaPlacar dentro dela voce está criando as linhas com os resultados do array que pegou via $.get e colocando na linha o evento de click na tag onde tem a classe .botao-remover. Para quando o usuário clicar no ícone da lixeira chamar a função removeLinha.

Obrigado Vitor Souza por tentar me ajudar, mas a dúvida ainda continua, Os passos que você falou estão tranquilos, porém não consigo ver em qual momento ao clicar no ícone da lixeira é disparado a função atualizaPlacar(), sabendo que o único momento que ela é chamada é no arquivo main.js ao inicializar a página.

Olá, quando é clicado o ícone da lixeira não é chamado a função atualizaPlacar. Ela só é chamada no carregamento da página. Pra carregar os dados do placar.

solução!

Então, acho que me perdi rsrs... Quando e como pode ser atualizada a página ao remover uma linha se o a função removeLinha() não chama a função atualizaPagina()?

Vamos lá! Então uma vez declarada uma função dentro de um arquivo de inicialização no escopo $(function(){}), a saber o main.js, que é o nosso exemplo, qualquer evento que a página sofra as funções que estão dentro do escopo serão disparadas? É isso?