Подтвердить что ты не робот

Selectize.js вручную добавить некоторые элементы

Я хочу добавить некоторые элементы к выбранному вводу после того, как пользователь нажмет на кнопку. Входные данные загружаются через Ajax. Когда я вызываю addItem (значение), ничего не происходит. Но если я пытаюсь ввести некоторую строку во вход, она загружает данные и после этого будет работать addItem (значение).

https://github.com/brianreavis/selectize.js/blob/master/docs/api.md

4b9b3361

Ответ 1

Этот плагин не пытается загрузить метаданные элемента с сервера. Сначала необходимо добавить параметр с помощью addOption(). Далее вы можете использовать addItem().

v.selectize.addOption({value:13,text:'foo'}); //option can be created manually or loaded using Ajax
v.selectize.addItem(13); 

Ответ 2

Вы можете добавить следующие опции:

var $select = $(document.getElementById('mySelect')).selectize(options);
var selectize = $select[0].selectize;
selectize.addOption({value: 1, text: 'whatever'});
selectize.refreshOptions();

Это добавляет только возможный выбор. Теперь вы можете использовать addItem для добавления новой опции в список:

selectize.addItem(1);

Для этого не требуется функция обновления. Вам не нужно использовать "refreshOptions", если вы сразу же добавите новую опцию.

Ответ 3

Попробуйте это.

 $('.select-ajax-city').each(function() {
    if (this.selectize) {
        for(x=0; x < 10; ++x){
            this.selectize.addOption({value:x, text: x});
        }
    }
});  

Ответ 4

Попробуй это

var $select = $(document.getElementById('Your-element-id'));
var selectize = $select[0].selectize;
selectize.addOption({value: '2', text: 'test'});
selectize.addItem('2');

Ответ 5

Если вы хотите быть более гибким, вы можете использовать такую длину, как эта.

var $select = $(document.getElementById('Your-ID'));        
var selectize = $select[0].selectize;
var count = selectize.items.length + 1;
selectize.addOption({ value: count, text: 'value-here' });
selectize.addItem(count);

Ответ 6

$('#id').selectize({
   create: function(input,callback){
      $.ajax({
           url: "",
           type: "POST",
           data: {value : input},
              success: function(res) {
                   callback({value: res, text: input});
              }
      });
   }
});