Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!