Jquery 如何在基于更改选择Selectize后重建Selectize Build下拉列表

Jquery 如何在基于更改选择Selectize后重建Selectize Build下拉列表,jquery,backbone.js,selectize.js,Jquery,Backbone.js,Selectize.js,我正在使用主干和selectize在从服务器获取集合后构建一个下拉列表。当集合更新时,原始选择也会更新 但是selectize没有更新。这是我的collectionReset,应该能够正确处理它 collectionReset: function () { this.select = this.$el.find('#event-type-list').selectize({ plugins: ['remove_button'],

我正在使用主干和selectize在从服务器获取集合后构建一个下拉列表。当集合更新时,原始选择也会更新

但是selectize没有更新。这是我的collectionReset,应该能够正确处理它

collectionReset: function () {
            this.select = this.$el.find('#event-type-list').selectize({
                plugins: ['remove_button'],
                delimiter: ',',
                persist: false,
                create: false,
                score: function (search) {
                    return function (item) {
                        return 1 / item.text.toLowerCase().indexOf(search.toLowerCase());
                    };
                }
            })[0].selectize;

最终找到了解决办法,第一次构建selectize下拉列表,然后手动清除它,并在每次后续更改中添加新项

collectionReset: function () {
            if(this.select == null) {
                this.select = this.$el.find('#event-type-list').selectize({
                    plugins: ['remove_button'],
                    delimiter: ',',
                    persist: false,
                    create: false,
                    score: function (search) {
                        return function (item) {
                            return 1 / item.text.toLowerCase().indexOf(search.toLowerCase());
                        };
                    }
                })[0].selectize;
            } else {
                this.select.clearOptions();
                for (var i = 0; i < this.collection.models.length; i++) {
                    var eventType = this.collection.models[i];
                    this.select.addOption({value:eventType.get('eventTypeId'),text:eventType.get('name')});
                }
            }
        }