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

Problemas con el codigo para filtrar

En el video de "creando la lógica con filtros" copie el código igual que el profesor, pero me sale un error que dice "uncaught type error cannot read property of undefined (reading 'length')" incluso copie el código que viene en Haz lo que hicimos en el aula y aun así no funciona. Este es el Código.

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

campoFiltro,addEventListener("input", function(){
    var pacientes = document.querySelectorAll(".paciente");

    if(this.value.length  > 0 ){  //aqui está el length que da error
        for (var i = 0; i < pacientes.length; i++){
            var paciente = pacientes[i];
            var tdNombre = paciente.querySelector(".info-nombre");
            var nombre = tdNombre.textContent;

            if(nombre != this.value){
                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");
        }
    }
});

logre que funcionara reemplazando el thing (así me quedo al final):

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

campoFiltro,addEventListener("input", function(){

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

 if(input.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;

            if(nombre != input.value){
                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");
                    }
        }
}); 
1 respuesta

Hola Priscilla, como estás?

Gracias por la observación, ya el error fué arreglado, te deseo exito en tus estudios!!

Si necesitas ayuda, estaremos aquí! Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!