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

177
Views
JavaScript/jQuery: ¿Cómo ejecutar una función después de que haya finalizado un ciclo each ()?

tengo lo siguiente Lo que básicamente está sucediendo es que estoy completando previamente todos los menús desplegables/opciones de selección. Luego recupero los datos para el registro actual y selecciono el valor apropiado para cada opción desplegable/seleccionar.

 $(dropdowns_sql).each(function (key, value) { var sql = value.sql; var dropdown = value.dropdown; $.post(d + '/inc/db.asp', { type: value.sql }, function (data) { json_object = JSON.parse(data); }).done(function () { $.each(json_object, function (k, v) { $('#' + dropdown).append($("<option></option>").attr("value", v[sql]).text(v[sql])); }); }); }); get_record_data();

Mi pregunta es cómo puedo asegurarme de que get_record_data(); se ejecuta después de que el ciclo ha terminado? Como puede ver, hago solicitudes POST dentro del bucle, por lo que encuentro que a veces no finalizan antes get_record_data(); se llama.

Lo intenté:

 $( document ).ajaxStop(function() { get_record_data(); });

Sin embargo, desde get_record_data(); también está haciendo una solicitud AJAX, me doy cuenta de que simplemente entra en un ciclo infinito

 function get_record_data() { $.post(d + '/inc/db.asp', { type: 'get_record', id: complex_record_id }, function (data) { ...

¿Alguna sugerencia? También necesito soporte para IE11.

Gracias.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sepa cuántos elementos hay en dropdowns_sql, haga una cuenta var e incluya la llamada get_record_data dentro de la función done para el último elemento.

Algo como:

 var count = dropdowns_sql.length; $(dropdowns_sql).each(function (key, value) { var sql = value.sql; var dropdown = value.dropdown; $.post(d + '/inc/db.asp', { type: value.sql }, function (data) { json_object = JSON.parse(data); }).done(function () { $.each(json_object, function (k, v) { $('#' + dropdown).append($("<option></option>").attr("value", v[sql]).text(v[sql])); }); if (!--count) get_record_data(); }); });
about 4 years ago · Juan Pablo Isaza Report
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!