2015-11-02 3 views
1

я загружаю несколько Selectize выбора входов на одной странице, например:Добавить опции для нескольких входов Selectize от типа

var selectizeInput = []; 
$('.select-photo-id').each(function (i) { 
    var selectedValue = $(this).val(); 
    selectizeInput[i + 1] = $(this).selectize({ 
     'maxOptions': 100, 
     'items': [selectedValue], 
     'onType': function (input) { 
      $.post("admin/ajax/search_photos_for_postcards", 
       {input: input}, 
       function (data) { 
        $(this).addOption(data); 
        $(this).refreshOptions(); 
       }, 'json'); 
     } 
    }); 

}); 

Событие onType делает вызов функции, которая возвращает список новых опций, которые я хочу чтобы сразу сделать доступ на вкладке «Выбор». Есть ли способ вызвать экземпляр Selectize? Как вы можете видеть из кода, я попытался обратиться к нему с $(this), но он не прошел. Я также пробовал с $(this).selectize, но это то же самое. Каков правильный способ сделать это?

ответ

0

мне удалось это исправить:

'onType': function (input) { 
     var $this = $(this); 
     $.post("admin/ajax/search_photos_for_postcards", 
      {input: input}, 
      function (data) { 
       $this[0].addOption(data); 
       $this[0].refreshOptions(); 
      }, 'json'); 
    } 
0

Вы, вероятно, хотите использовать load событие, предоставленную API Selectize.js, как показано на the demos. Прокрутите список до тех пор, пока не найдете «Remote Source - Github», а затем нажмите «Показать код» под ним.