selectize.js动态添加选项以供选择

时间:2015-04-10 15:16:52

标签: selectize.js

我正在尝试使用selectize.js库。在document.ready上,我进行了ajax调用并获取了添加到选择列表中的选项。

以下是select标签的html

<select id="select-country-field" name="country-field-list[]" multiple   class="demo-default" style="width:50%" placeholder="Select a state...">
   <option value="">Select ...</option>
</select>

以下是我在$(document).ready

上添加选项的方法
var $select = $(document.getElementById('select-country-field')).selectize(options);
var selectize = $select[0].selectize;
selectize.addOption({value:1,text:'foo'});
selectize.addItem(1);
selectize.refreshOptions();

我看了下面提出的问题,但是没有让它起作用 Selectize.js manually add some items

任何帮助?

1 个答案:

答案 0 :(得分:3)

您可以将ajax调用移动到选择性加载方法中:

$('#select-country-field').selectize({
  valueField: 'country',
  labelField: 'country',
  searchField: 'country',
  options: [],
  load: function(query, callback) {
    if (!query.length) return callback();
    $.ajax({
        url: 'http:// ajax-call-url',
        type: 'GET',
        dataType: 'json',
        data: {
            country: query,
        },
        error: function() {
            callback();
        },
        success: function(res) {
            callback(res);
        }
    });
  }
});

'http:// ajax-call-url'应返回如下数组:

[{ country: 'USA'}, {country: 'GB'}, {country: 'FR'}, ... ]