Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Forma mais simples e melhorada de filtro de pesquisa

No filtro de pesquisa descobrir uma forma mais fácil de fazer o que ele fez no final. Também fiz que independentemente de como o usuário digitar (Tati, tati, TATI ou tAtI) a pesquisa consegue achar o nome.

Basta fazer isso:

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

campoFiltro.addEventListener("input", function(){
    console.log(this.value);
    var pacientes = document.querySelectorAll(".paciente");
    for (var i = 0; i < pacientes.length; i++) {
        var paciente = pacientes[i];
        var tdNome = paciente.querySelector(".info-nome");
        var nome = tdNome.textContent;
        //nesse if eu já resolvo os problemas.
        if (nome.toLowerCase() != this.value.toLowerCase() && this.value.length > 0) {
            paciente.classList.add('invisivel');
        } else {
            paciente.classList.remove('invisivel');
        }
    }
});

Tudo está resolvido no if. Eu uso o toLowerCase() para converter o texto para minúsculo, ou seja, você não precisa se preocupar em escrever igual o nome que está na tabela. Mais resumidamente: Se (nome do paciente em minúsculo != texto do input em minúsculo && o valor de texto de input for maior que 0) {...}

1 resposta
solução!

Oi, Gustavo, tudo bem?

Muita boa a sua observação e proposição de alteração para pegar variações. Obrigada por compartilhar a sua sugestão!

Bons estudos!

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