¿Hay alguna manera de hacer que un elemento de selección de HTML invoque una función cada vez que su selección se haya cambiado mediante programación?Detectar cambios programáticos en un cuadro de selección html
Tanto IE como FF no se dispararán 'onchange' cuando la selección actual en un cuadro de selección se modifique con javascript. Además, la función js que cambia la selección es parte del marco, por lo que no puedo cambiarla para disparar un onchange() al final, por ejemplo.
He aquí un ejemplo:
<body>
<p>
<select id="sel1" onchange="myfunction();"><option value="v1">n1</option></select>
<input type="button" onclick="test();" value="Add an option and select it." />
</p>
<script type="text/javascript">
var inc = 1;
var sel = document.getElementById('sel1');
function test() {
inc++;
var o = new Option('n'+inc, inc);
sel.options[sel.options.length] = o;
o.selected = true;
sel.selectedIndex = sel.options.length - 1;
}
function myfunction() {
document.title += '[CHANGED]';
}
</script>
</body>
¿Hay alguna manera de hacer test() mifuncion llamada() sin cambiar de prueba() (o la adición de un evento en el botón)?
Gracias.
El evento onchange más medios que el usuario cambió su selección y no que las opciones hayan sido cambiadas. – Gumbo