Selectize.js手动添加一些项目

PHP*_*Pst 36 javascript jquery selectize.js

我想在用户点击按钮后为选择的输入添加一些项目.输入数据通过Ajax加载.当我调用addItem(value)时,没有任何事情发生.但是,如果我尝试在输入中键入一些字符串,它会加载数据,然后addItem(value)将起作用.

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

PHP*_*Pst 51

此插件不会尝试从服务器加载项元数据.您需要先使用addOption()方法添加选项.接下来,你可以使用addItem().

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

  • 注意`addOption`也可以接受数组. (3认同)
  • @asif 它是:`$(...)[0].selectize.addOption(...)`。如果没有“[0]”,它将无法工作:/ (2认同)

lus*_*chn 28

您可以添加以下选项:

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

这仅添加选项作为可能的选择.现在,您可以使用addItem将新选项添加​​到列表中:

selectize.addItem(1);
Run Code Online (Sandbox Code Playgroud)

这不需要刷新功能.如果立即添加新选项,则无需使用"refreshOptions".

  • `selectize.addOption({id: 1, label: 'whatever'});` 不再有效。现在应该是`selectize.addOption({value: 1, text: 'whatever'});` (2认同)

Soh*_*ala 7

尝试这个

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


小智 6

试试这个.

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