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

155
Vistas
Jinja2/JavaScript anidado para bucle que solo muestra el primer div

Tengo una aplicación web Flask en la que llamo a una API de IBM Watson (salida JSON) y muestro los resultados en una serie de modales Bootstrap donde cada uno contiene información en un artículo de noticias separado (por ejemplo, Watson devuelve 40 artículos de noticias, la página tendrá botones para 40 modales con los datos accedidos a través de un bucle). Dentro de cada modal, intento mostrar una palabra clave en el texto junto a una pequeña barra de porcentaje (para mostrar el sentimiento de la palabra clave). Tengo un bucle for anidado para extraer la información correcta y uso el índice de bucle para hacer que la identificación del div sea única. Los resultados se muestran correctamente solo en el primer modal, sin embargo, no se muestran en ninguno de los otros modos. ¡He intentado combinaciones de agregar los índices de bucle interno y externo a la identificación de div pero no puedo hacer que funcione! Aquí hay una versión simplificada del código dentro del modal y el JavaScript correspondiente. ¡Gracias!

resultados.html

 {% for results in watson_results %} {% set resultsloop = loop %} {% for item in results.enriched_text.keywords[0:5] %} <ul class="list-group list-group-flush"> <li class="list-group-item"> <div class="progress" style="display: inline-block; vertical-align: middle" id="progressdiv1-{{loop.index}}"> <div class="progress-done-pos" style="display: inline-block; vertical-align: middle" id="progress1-{{loop.index}}" data-done={{item.sentiment.score}}> {{item.sentiment.score}} Positive </div> </div> <span class="explanation" style="margin-left:5px; vertical-align:middle">{{item.text}}</span> </li> </ul> {% endfor %} {% endfor %}

JavaScript

 <script type="text/javascript"> var progress = document.getElementById('progress1-{{loop.index}}'); progress.style.width = (progress.getAttribute('data-done')*100) + "%"; progress.style.opacity = 1; </script>
about 4 years ago · Juan Pablo Isaza
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