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

Erro no filtro depois do AJAX

Não entendi muito bem o que houve, mas depois de buscar filtrar paciente na caixa de busca quando já busquei paciente pelo botão de Buscar Paciente, dá um erro que não entendi.

Dá o seguinte erro:

filtra.js:12 Uncaught TypeError: Cannot read property 'textContent' of null
    at HTMLInputElement.<anonymous> (filtra.js:12)

Meu código é esse:

var campoFiltro = document.querySelector("#filtrar-tabela");

campoFiltro.addEventListener("input", function () {

    var pacientes = document.querySelectorAll(".paciente");

    if (this.value.length > 0) {
        for (var posicao = 0; posicao < pacientes.length; posicao++) {

            var paciente = pacientes[posicao];
            var tdNome = paciente.querySelector(".info-nome");
            var nome = tdNome.textContent;

            var expressao = new RegExp(this.value, "i");
            if(expressao.test(nome)) {
                paciente.classList.remove("invisivel");
            }else {
                paciente.classList.add("invisivel");
            }

        }
    }else {
            for (var posicao = 0; posicao < pacientes.length; posicao++) {
                paciente = pacientes[posicao];
                paciente.classList.remove("invisivel");
            }

        }
    });

Alguém pode me explicar?

2 respostas
solução!

Talvez o problema esteja no HTML. Pela mensagem de erro, parece que alguma TD da sua tabela não tem a classe "info-nome"

Vou dar uma olhada quando chegar em casa e corrigir isso. Obrigado!

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