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

105
Views
Reemplazar el texto con la llamada ajax da como resultado que no se llame a otro jquery

Hola, estoy tratando de completar una declaración de selección basada en otra declaración de selección. Al principio, la declaración de selección con ubicación de identificación está vacía y se completa con una llamada ajax y se reemplaza su contenido. En el cambio, quiero que cambie otra declaración de selección llamada repositorio. Estoy tratando de crear un jquery pero no se dispara. Sé que tiene que ver con la delegación de eventos, pero traté de arreglar mi código y todavía no funciona. El reemplazo está causando este problema.

¿Alguna ayuda por favor?

 $.ajax({ 'url' : ajaxurl, data: { 'action':'get_locations', // This is our PHP function below }, success:function(data) { // This outputs the result of the ajax request (The Callback) $("#location").replaceWith(data); }, error: function(errorThrown){ window.alert(errorThrown); } }); //jQuery(document).on('change', location , function(){ jQuery('#location').on('change', '#location', function() { window.alert('yep'); $.ajax({ 'url' : ajaxurl, data: { 'action':'test', // This is our PHP function below }, success:function(data) { window.alert(data); }, error: function(errorThrown){ window.alert(errorThrown); } }); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Está configurando un oyente en el elemento #location , pero luego reemplaza ese elemento con el contenido de la respuesta ajax usando replaceWith() . Incluso si la llamada $ajax viene primero en el código, es asíncrona y la respuesta llegará después de que haya configurado el oyente en #location .

El método replaceWith() elimina todos los datos y controladores de eventos asociados con los nodos eliminados: https://api.jquery.com/replaceWith/

Además, el evento de cambio se activa solo para los elementos <input> , <select> y <textarea> : https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event

En su lugar, podría usar un MutationObserver y observar el nodo principal del nodo que está cambiando: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

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!