selectize.js 动态添加选项以进行选择

标签 selectize.js

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

这是选择标签的 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

有什么帮助吗?

最佳答案

您可以将 ajax 调用移动到 selectize load 方法中,如下所示:

$('#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'}, ... ]

关于selectize.js 动态添加选项以进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29565024/

相关文章:

r - selectInput 中的选项显示在传单 map 上

javascript - 在 Selectize.js 下拉列表中的附加按钮上添加点击事件

javascript - 将国家/地区 json 与 selectize 插件一起使用

javascript - 选择输入类型 ="text"元素

r - 使用 >1000 个选项更新服务器端选择输入的选择失败

javascript - 移动设备中 selectize.js 下拉溢出的困难

laravel - 如何正确地将 node_modules 中的库包含到您的项目中?

jquery - 选择 Selectize.js 字段后如何关注下一个字段

javascript - 如何使用不区分大小写的下拉选择

javascript - 在非多个选择框上使用 Selectize API