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

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

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

4 ответов


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

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

вы можете добавить такие параметры:

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", если вы добавляете новую опцию немедленно.


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

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

Ty Это

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