Выбранное событие изменения плагина не запускается

Я использую Chosen плагин jQuery и заметил, что событие change работает только когда страница загружается, НЕ каждый раз, когда изменяется поле input.

Как я могу заставить его работать каждый раз, когда пользователь меняет значение поля ввода?

Вот мой код:

 $("#day").chosen().change({
     console.log('working');
  });

Я что-то пропустил?

Ответы

Ответ 1

Попробуйте следующее:

$(document).ready(function(){
    $("selector").chosen().change(function(){
        var id = $(this).val();
    });
})

Ответ 2

Чтобы запустить стандартное событие изменения, используйте как:

  $('#day').on('change', function(e) {
    // triggers when whole value changed
    console.log("value changed");
  });

Чтобы запустить событие при каждом нажатии клавиши,

  $('#day').on('keyup', function(e) {
    // triggers when each key pressed
    console.log("key pressed");
  });

Чтобы узнать о выбранных событиях по умолчанию, см. здесь.

Ответ 3

Обновление динамически изменено

Если вам нужно обновить параметры в своем поле выбора и хотите, чтобы Chosen забирал изменения, вам нужно вызвать событие "selected: updated" в этом поле. Выбранный будет перестраиваться на основе обновленного контента.

$("#foo").trigger("chosen:updated");

Ответ 4

Затем запишите его в событие keyup для ввода:

$('inputselector').keyup(function() {
  $("#day").chosen().change({
   console.log('working');
  });
});​

и на dom ready:

$('inputselector').trigger('keyup');

Ответ 5

    //Asp.net dropdown listbox
  <asp:ListBox ID="CompanySelect" runat="server" AppendDataBoundItems="true" 
  AutoPostBack="true"   
  data-placeholder="Select Companies" class="chosen-select"  SelectionMode="Multiple" 
  EnableViewState="true" Height="39px" Width="99%" >
  <asp:ListItem Value="0">All</asp:ListItem>
  </asp:ListBox>

    //This code help me for hiting chozen change event.

     $('#chosen').val('').change()
        {
           alert("working");
        }

    //if you want to get select value you need to do this.

     $('#chosen').val('').change()
        {
            alert($(".chosen-select").val());
        }