2013-12-01 2 views
20

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

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

+0

У меня такая же проблема ... addItem не работает вообще для меня. 'var $ tag_selects = $ ('# tags'). selectize ({options})' then 'tag_select = $ tag_selects [0] .selectize; tag_select.addItem ('test');' but 'test' никогда не добавляется – Fabrizio

+0

@Fabrizio Я нашел решение. См. Ответ. – PHPst

ответ

36

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

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

Это отлично работало. Благодаря! – Zamicol

+2

Обратите внимание, что 'addOption' может также принимать массив. – Tomzan

12

Вы можете добавить опции, как это:

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», если вы сразу же добавите новую опцию.

+0

Изменить selectice для выбора –

+0

done, thanx для головок вверх – luschn

+0

'selectize.addOption ({id: 1, label: 'whatever'});' больше не работает. Теперь нужно выбрать 'selectize.addOption ({значение: 1, текст: 'whatever'});' – topher

4

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^