Selectize.js вручную добавить некоторые элементы
Я хочу добавить некоторые элементы к выбранному вводу после того, как пользователь нажмет на кнопку. Входные данные загружаются через Ajax. Когда я вызываю addItem (значение), ничего не происходит. Но если я пытаюсь ввести некоторую строку во вход, она загружает данные и после этого будет работать addItem (значение).
https://github.com/brianreavis/selectize.js/blob/master/docs/api.md
Ответы
Ответ 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});
}
});
}
});