multiple functions example ejemplo container chosen cdnjs bootstrap javascript jquery jquery-chosen

javascript - functions - Cómo desencadenar un evento de cambio para Elegido(jQuery)



jquery chosen cdnjs (6)

Esto es lo que descubrí:

$(''#my-select'').val(5).trigger("liszt:updated")

liszt:updated ya no funciona en la nueva versión del elegido, en lugar de usarlo a continuación, como sugiere la respuesta de Alexandru Cojan

trigger("chosen:updated");

Antes de hacer clic en el botón de reinicio, elijo "Compañía" en Elegido (lista desplegable). El evento ocurre normalmente después de hacer clic en restablecer. Elijo "Compañía" de nuevo, pero el change evento en la lista desplegable no ocurre.

¿Alguien podría decirme cómo activar el evento de cambio para la lista desplegable después de hacer clic en el botón de reinicio y luego en el mismo elemento?

El código que tengo hasta ahora:

$("#mainMenu").change(function(e){ e.preventDefault(); loadFirstManu(true); });

Código para el botón de reinicio:

$("#btn_reset").click(function() { CKEDITOR.instances.ckeditor.setData(''''); $(''.mchosen'').each(function() { $(this).val('''').trigger(''liszt:updated''); $(''#submenu'').attr(''disabled'', ''disabled'').html(''''); $(''#secondsubmenu'').attr(''disabled'', ''disabled'').html(''''); $(''#s-menu'').removeClass(''required'').html(''''); $(''#secondsubmenu'').removeClass(''validate[required]''); $(''#tabmenu'').attr(''disabled'', ''disabled'').html(''''); $(''#tab'').removeClass(''required'').html(''''); });

});


No sé si este es su caso o no, pero su código anterior debería funcionar,

$("#mainMenu").change(function(e){ e.preventDefault(); loadFirstManu(true); });

pero tenga en cuenta que el evento de "cambio" ocurre en la mayoría de los navegadores cuando desenfoca la entrada seleccionada

Entonces, al hacer clic en restablecer , justo antes de ejecutar la acción de restablecimiento, se activa el cambio.

Ahora intente hacer clic fuera de la entrada de selección después de cambiar la selección y ver si todavía funciona o no


Si no me equivoco al entenderlo, entonces desea activar el cambio de evento después de hacer clic en el botón de reinicio. puede hacer esto simplemente agregando una línea a su código // código

$("#btn_reset").click(function(){ // your code here $("#mainMenu").trigger(''change''); //you can write this as per your requirements ie. at start or end. });


Si solo necesito actualizar el valor seleccionado, .trigger(''chosen:updated'') . Pero si tengo un controlador de cambios y quiero que se llame, necesito hacer .trigger(''chosen:updated'').change()


Tal vez debería intentar usar .on, ya que su $ (''# mainMenu'') puede haber cambiado en alguna parte (no puedo decir sin un ejemplo). Intenta hacer esto:

$("body").on(''change'',''#mainMenu'',function(){ ... });

o cualquier selector padre en lugar de cuerpo "pesado"


para la versión más reciente de elegida el evento es "elegido: actualizado"

$(selector).trigger("chosen:updated")