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

Filtro deixa de funcionar após AJAX

Após usar o botão e adicionar os pacientes do JSON, o filtro não funciona mais. Segue meu código buscar-pacientes.js e filtra-tabela.js, respectivamente:

var botaoAdicionar = document.querySelector("#buscar-pacientes");
botaoAdicionar.addEventListener("click", function(){
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api-pacientes.herokuapp.com/pacientes");

xhr.addEventListener("load", function(){
  var resposta = xhr.responseText;
  var pacientes = JSON.parse(resposta);
  pacientes.forEach(function(paciente){
    adicionaPacienteNaTabela(paciente);
  });








});




xhr.send();





});
var filtroInput = document.querySelector("#filtrar-tabela");
filtroInput.addEventListener("input", function(){
var pacientes = document.querySelectorAll(".paciente");
if(this.value.length > 0){

  for( var i = 0; i < pacientes.length; i++){
    var paciente = pacientes[i];
    var tdNome = paciente.querySelector(".info-nome");

    var nome = tdNome.textContent;
    var expressao = new RegExp(this.value, "i");
    if(!expressao.test(nome)){

          paciente.classList.add("invisivel");


    }else {
        paciente.classList.remove("invisivel");

    }


  }





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

    }

}














});
1 resposta
solução!

Já resolvi, as classes não estava sendo adicionadas nas tds.