Tengo el siguiente en la cabecera:jQuery En <select> evento de cambio no se activa
$('body').on('change', '#userFilter', function(){
console.log('changed');
});
y este elemento se inserta de forma dinámica en la página cuando se hace clic en una pestaña:
<select id="userFilter">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
El problema se que cuando cambio el menú desplegable no se muestra nada en la consola.
Funciona bien para mí: http://jsfiddle.net/KhY8s/. Asegúrese de vincular el controlador de eventos cuando 'body' exista (jQuery 101). De la [jQuery ** tutorial **] (http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery#Hello_jQuery): * "Como casi todo lo que hacemos cuando usamos jQuery lee o manipula el modelo de objetos del documento (DOM), debemos asegurarnos de comenzar a agregar eventos, etc. tan pronto como el DOM esté listo. Para ello, registramos un evento listo para el documento. "*. ¿Por qué parece que nadie lo está leyendo? –
Por favor, marque la respuesta :) – Archer
Solo una nota rápida para ayudar a otros que podrían haber cometido el mismo error estúpido: asegúrese de no tener una identificación duplicada accidental, por ejemplo, si tiene un div con la misma identificación que su filtro , el evento de cambio no va a disparar! – Steve