JSFiddle
He creado un select
con 3 option
s (1) en blanco en el violín. Cuando cambio manualmente de foo
a bar
, el oyente change
se dispara normalmente.jQuery optado por no disparar onchange evento cuando se cambia el valor a través de JS
Ahora bien, si se restablece la select
través de JS con el code posted in some answers here, el evento change
no se dispara para la opción en blanco que acaba de seleccionar, por otra parte, si selecciono la opción que fue seleccionado antes de hacer clic en el botón reset
caso onchange
ganó' t fuego tampoco.
Estoy seguro que el select
'valor de s es está cambiando con la función anterior, que se puede ver en este fiddle, pero el select
' s onchange
caso simplemente no se dispara.
También he intentado onchange
, onclick
, oninput
eventos en vano. En este momento me pregunto si debería usar un MutationObserver o eliminar el elemento elegido renderizado del DOM y crear otro, pero probablemente estoy pensando demasiado. Cualquier ayuda es apreciada.
también:
Esta respuesta me ha ayudado mucho: jQuery Chosen reset
Esta respuesta no ayudó: how to fire onchange event in chosen prototype javascript select box?
Código para referencia futura si jsfiddle.net es bajado:
HTML
<div id="wrapper">
<select id="chosen">
<option value="!!EMPTY VALUE!!"></option>
<option value="foo">foo</option>
<option value="bar">bar</option>
</select>
</div>
<br>
<button id="reset">Reset</button>
JS
$(function() {
$('#chosen').chosen();
$('#wrapper').on('change', '#chosen', function() {
console.log('onchange: ' + this.value);
});
$('#reset').click(function() {
$("#chosen").val('').trigger("liszt:updated"); //doesn't work
//$("#chosen").prop('selectedIndex', 0).trigger("liszt:updated"); //doesn't work either
console.log('reset: ' + $('option:selected').val());
});
});
** Webforms de ASP.Net **: me encontré con esta pregunta cuando mi aplicación parecía tener este problema, pero resultó ser un error de Javascript causado por ASP Validadores de WebForm. Vea este [boleto jQuery-UI] (http://bugs.jqueryui.com/ticket/4071#comment:9) – sparebytes