tag dinamico check bootstrap jquery events onchange jquery-select2

jquery - check - select2 dinamico



Evento de cambio dinĂ¡mico select2 no encendido (1)

Select2 solo tiene 2 eventos, open y change ( http://select2.github.io/select2/#events ), solo puede agregar oyentes. Puede usar evento open lugar de focus para el elemento <select> . Y no use el método live() , ya que está en desuso. Use on() lugar.

var currentData; $(".autosubmit select").on("open", function() { currentData = $(this).val(); }); $(".autosubmit input").on("focus", function() { currentData = $(this).val(); }); $(".autosubmit input, .autosubmit select").on("change", function() { var $this = $(this); console.log(''autosubmitting''); if (!currentData || currentData != $this.val()) { $($this.get(0).form).ajaxSubmit(function (response, status, xhr, $form) { currentData = ""; }); } });

Aquí está el Fiddle

Tengo un formulario con un par de selects adentro. Estoy aplicando el plugin select2 jquery sobre las selecciones como esta:

$("select.company_select, select.positions_select").select2();

La selección funciona bien, pero tengo este código para enviar automáticamente mi formulario (tengo la clase autosubmit en la etiqueta del formulario).

var currentData; $(''.autosubmit input, .autosubmit select, .autosubmit textarea'').live(''focus'', function () { currentData = $(this).val(); }); $(''.autosubmit input, .autosubmit select, .autosubmit textarea'').live(''change'', function () { console.log(''autosubmiting...''); var $this = $(this); if (!currentData || currentData != $this.val()) { $($this.get(0).form).ajaxSubmit(function (response, status, xhr, $form) { currentData = ""; }); } });

El problema es que con select2, el cambio o el evento de enfoque no se dispara en absoluto. Si elimino el select2, los eventos se disparan perfectamente.

¿Qué estoy haciendo mal?