Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/11/2016, 12:23
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Detectar evento "onchange" en lista desplegable

El punto es que, si realizas el cambio desde el código, se omite la interacción con el DOM, por lo que evidentemente esos eventos no se ejecutarán. Por eso es que te sugiero que, en el bloque de código en el que realizas la asignación de del dato, ejecutes las acciones que deseas. Si no quieres repetir líneas de código, puedes tener todo en una función a la cual solo tendrías que llamar.

Un ejemplo:
Código HTML:
Ver original
  1. <select id="foo">...</select>
  2. <input type="text" id="bar" />
Código Javascript:
Ver original
  1. //La función a ejecutarse
  2. function ejemplo(){
  3.     alert("Ocurrió un cambio");
  4. }
  5.  
  6. //Si se producen estos eventos en los elementos del DOM, se ejecutará la función "ejemplo"
  7. $("#foo").on("change", ejemplo);
  8. $("#bar").on("keydown change", ejemplo);
  9.  
  10. //Si hago el cambio de valor desde el código, también se ejecutará la función "ejemplo"
  11. $("#foo").val("abc");
  12. ejemplo();
  13.  
  14. $("#bar").val("def");
  15. ejemplo();

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand