Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
javascript/jquery for loop no recorre todos los índices

Estoy implementando entradas de selección dinámica pero tienen un comportamiento extraño.

Hay tres entradas seleccionadas. La primera es para seleccionar el título de un libro, la segunda entrada es para seleccionar el capítulo inicial y la tercera es para el capítulo final. Cada libro tiene un número determinado de capítulos.

Entonces, cuando se selecciona un libro, las otras entradas se vacían y se llenan a través de un bucle for y cuando se selecciona el capítulo inicial, la entrada del capítulo final también se vacía y se llena a través de un bucle for.

El problema es: cuando selecciono algún capítulo inicial, la entrada del capítulo final se vacía pero no se rellena. El comportamiento es extraño porque funciona para los capítulos 1 y 2 iniciales, luego se detiene y vuelve a funcionar para los capítulos 10 y finales.

Código de secuencia de comandos:

 $('#initial_chapter_select').change(function() { $('#initial_chapter_select option:selected').each(function() { selected_initial_chapter = $(this).val(); console.log('Selected initial chapter: ' + selected_initial_chapter); console.log('Selected book last chapter: ' + selected_book_last_chapter); $("#final_chapter_select option").remove(); console.log('Final Chapter emptied'); for (var chapter = selected_initial_chapter; chapter <= selected_book_last_chapter; chapter++) { console.log('Loop chapter: ' + chapter); $('#final_chapter_select').append("<option value=" + chapter + ">" + chapter + "</option>"); } }); });

Terminal de consola cuando selecciono las entradas de capítulo inicial 1, 2, 3, ..., 10:

 Selected initial chapter: 1 Selected book last chapter: 27 Final Chapter emptied Loop chapter: 1 Loop chapter: 2 (...) Loop chapter: 27 Selected initial chapter: 2 Selected book last chapter: 27 Final Chapter emptied Loop chapter: 2 Loop chapter: 3 (...) Loop chapter: 27 Selected initial chapter: 3 Selected book last chapter: 27 Final Chapter emptied Selected initial chapter: 4 Selected book last chapter: 27 Final Chapter emptied (...) Selected initial chapter: 9 Selected book last chapter: 27 Final Chapter emptied Selected initial chapter: 10 Selected book last chapter: 27 Final Chapter emptied Loop chapter: 10 Loop chapter: 11 (...) Loop chapter: 27
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Agregar parseInt solucionó el problema ...

Esto se debe a que el ciclo también puede manejar la comparación de cadenas, y esto crea resultados "sorprendentes" como los siguientes porque la evaluación se realiza carácter por carácter... Me gusta ordenar algunas cadenas. Un humano los consideraría como números... Por la computadora no.

Conclusión, tenga cuidado con el tipo de variables que utiliza.

 console.log("22" > "3") // false!!!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda