La lógica en el change()controlador de eventos no se ejecuta cuando se establece el valor val(), pero se ejecuta cuando el usuario selecciona un valor con el mouse. ¿Por qué es esto?
<select id="single">
<option>Single</option>
<option>Single2</option>
</select>
<script>
$(function() {
$(":input#single").change(function() {
/* Logic here does not execute when val() is used */
});
});
$("#single").val("Single2");
</script>