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

175
Vistas
¿Cómo puedo capturar un evento 'en cambio' en JS una vez que uno de los muchos elementos cambia?

Así que tengo varios campos de entrada que activan una función una vez que cambian su valor. ¿Hay alguna manera de que pueda volver a escribir y acortar este código? me sigo repitiendo..

 # .js let months_input = $('#id_months') let salary_input = $('#id_start_salary') let monthly_raise_input = $('#id_monthly_raise') months_input.on('change', function () { run_calculation(months_input.val(), salary_input.val(), monthly_raise_input.val()) }) salary_input.on('change', function () { run_calculation(months_input.val(), salary_input.val(), monthly_raise_input.val()) }) monthly_raise_input.on('change', function () { run_calculation(months_input.val(), salary_input.val(), monthly_raise_input.val()) })
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Hay varias formas de hacer lo que está tratando de lograr y reducir la duplicación.

Puede envolver sus entradas en algún elemento contenedor y permitir que el burbujeo de eventos maneje esto por usted.

Eso podría verse así

 document.getElementById('foo').addEventListener('change', e => { console.log('input changed'); });
 <div id="foo"> <input id="one" /> <input id="two" /> <input id="three" /> </div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

 var myInputs = document.getElementsByClassName('myInputs') for(let i = 0; i < myInputs.length; i++){ myInputs[i].addEventListener('change', function () { run_calculation(months_input.val(), salary_input.val(), monthly_raise_input.val()) }) }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type = 'text' class='myInputs'> <input type = 'text' class='myInputs'> <input type = 'text' class='myInputs'>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar un selector de clase en lugar de una identificación y luego usar la palabra clave "esto" para vincular una función al cambio

 $(".class").on( "click", function() { run_calculation((this).val()) })
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