Bom dia pessoal.
Estou precisando aplicar no meu projeto uma busca muito parecida com esta busca de pacientes, sendo que não está funcionando. A diferença é que minha tabela é dinâmica, montada do lado servidor.
Veja um trecho da montagem da tabela:
protected string montarBody(Indicador indicador) { StringBuilder htmlDivsConteudoRelatorio = new StringBuilder();
htmlDivsConteudoRelatorio.Append("<tr class='indicador'>");
htmlDivsConteudoRelatorio.Append("<td class='larguraColuna info-sigla'>" + indicador.sigla + "</td>");
htmlDivsConteudoRelatorio.Append("<td class='info-descricao'>" + indicador.nome + "</td>");
htmlDivsConteudoRelatorio.Append("</tr>");
return htmlDivsConteudoRelatorio.ToString();
}
Na classe aspx fiz exatamente conforme o exemplo aprendido, veja:
Busca:
E no javaScript:
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input", function () {
var siglas = document.querySelectorAll(".indicador");
if (this.value.length > 0) {
for (var i = 0; i < siglas.length; i++) {
var sigla = siglas[i];
var tdSigla = sigla.querySelector(".info-sigla");
var nome = tdSigla.textContent;
var expressao = new RegExp(this.value, "i");
if (!expressao.test(nome)) {
sigla.classList.add("invisivel");
} else {
sigla.classList.remove("invisivel");
}
}
} else {
for (var i = 0; i < siglas.length; i++) {
var sigla = siglas[i];
sigla.classList.remove("invisivel");
}
}
});
Ao realizar os testes o filtro não funciona. Estou fazendo algo de errado?
Obrigada. Flávia