Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

No me esta funcionando el evento de escucha "campoFiltro"

Hola! vengo algo atrasado con el curso pero ya me voy a poner al día... en este ejercicio no me esta funcionando el evento de escucha "campoFiltro", una asignación de variable me lo toma como "undefine", la declaración "var paciente= pacientes[i];" . No se que podre tener mal, tengo todo igual y veo que en el video de Alura si funciona. La linea 12 corresponde a la asignacion de la variable "paciente" con "undefine"

const campoFiltro= document.querySelector('#filtrar-tabla');

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

    var pacientes= document.querySelectorAll('.paciente');
    console.log(pacientes);

    for( var i= 0; i < pacientes.length; i++);
    var paciente= pacientes[i]; //Linea 12 del codigo
    console.log(paciente);
    var tdNombre= paciente.querySelector(".info-nombre");
    console.log(tdNombre);
    var nombre= tdNombre.textContent;
    console.log(nombre);
})
3 respuestas

encontré el error, no tenia las llaves del for... no se como eliminar este post...

solución!

Hola Walter, a simple vista lo que estoy notando es que hay un error en tu bucle for. La forma en que lo declaraste esta perfecta pero hay dos errores justo despues de la declaracion:

  • Lo primero que hay que hacer es sacar el ";" que esta justo al final de la linea del for porque esto te va a generar problemas
  • Y lo segundo que hay que hacer es agregar los simbolos de llave "{" y "}" para determinar cuales son las instrucciones que se van a repetir dentro de nuestro ciclo.

Con los cambios propuestos, el codigo deberia quedar asi:

const campoFiltro= document.querySelector('#filtrar-tabla');

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

    var pacientes= document.querySelectorAll('.paciente');
    console.log(pacientes);

    for( var i= 0; i < pacientes.length; i++){
    var paciente= pacientes[i]; //Linea 12 del codigo
    console.log(paciente);
    var tdNombre= paciente.querySelector(".info-nombre");
    console.log(tdNombre);
    var nombre= tdNombre.textContent;
    console.log(nombre);
    }
})

Si te sigue presentendo algun problema o no se entiende mi explicacion, no dudes en consultarme!

edit: Justo vi que encontraste el error mientras escribia mi respuesta, muy bien hecho!!

Gracias Tomas Igualmente...