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

Fazer busca numa tabela por palavras chave ou CEP

Olá comunidade! Estou com uma dúvida que acredito ser bem simples.

Eu tenho uma tabela de 137 linhas e 10 colunas. Acima dela eu tenho um campo de busca. Eu queria simplesmente consultar nessa tabela as palavras chave, como os produtos ou serviços prestados ou nome da loja, que são 3 colunas diferentes. Não existe uma coluna com o CEP, mas existe uma com o endereço das lojas.

Alguém pode me dar uma luz quanto a isso!

Desde já agradeço muito! Essa comunidade tem me ajudado de mais!!

1 resposta
solução!

Fala Renan, tudo de boa?

Dá uma olhada nesse código, acho que para o seu problema seria simples adaptá-lo para fazer funcionar

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

campoFiltro.addEventListener("input", function() {
    var linhas = document.querySelectorAll("tr");

    if (this.value.length > 0) {
        for (var i = 0; i < linhas.length; i++) {
            var linha = linhas[i];

          //recupera os dados da tabela, dados das tds filhas

            var expressao = new RegExp(this.value, "i");

            // Adição aqui
            if (expressao.test(dadoDaTabela)) {
                linha.classList.remove("invisivel");
            } else {
                linha.classList.add("invisivel");
            }
        }
    } else {
        for (var i = 0; i < linhas.length; i++) {
            var linha = linhas[i];
            linha.classList.remove("invisivel");
        }
    }
});

Repare que no meio do código será necessário recuperar os dados das TDs filhas da TR para testar com a regex que é criada de acordo com a entrada do usuário.

Tenha em mente também que você precisará testar a regex para cada dado recuperado da tabela.

Creio que com essa base você conseguirá ter uma luz para seguir.

Caso tenha alguma dúvida é só voltar a postar!

Abraços meu amigo!