Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Filtrando sin Regex

Filtrando sin Regex, solo tiene el detalle que no busca las letras intermedias, se limita a la primera letra.

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

campoFiltro.addEventListener("input",function(){
    console.log(this.value);

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

    if(this.value.length > 0){
        for (var i=0; i < pacientes.length; i++){
            var paciente = pacientes[i];
            var tdNombre = paciente.querySelector(".info-nombre");
            var nombre = tdNombre.textContent;
            var comparar = nombre.substring(0, this.value.length);
            var compararMinuscula = comparar.toLowerCase();
            var valorDigitadoMinuscula = this.value.toLowerCase();

            if(!(valorDigitadoMinuscula  == compararMinuscula )){
                paciente.classList.add("invisible");
            } else {
                paciente.classList.remove("invisible");
            } 
        }
    } else {
        for (var i=0; i < pacientes.length; i++){
            var paciente = pacientes[i];
            paciente.classList.remove("invisible");
        }
    }
});

fuera de eso, funciona bien... saludos excelente el curso.

1 respuesta

Estoy de acuerdo con tu observación. Podría ser una mejora del código hecho.