Jquery 如何在基于更改选择Selectize后重建Selectize Build下拉列表
我正在使用主干和selectize在从服务器获取集合后构建一个下拉列表。当集合更新时,原始选择也会更新 但是selectize没有更新。这是我的collectionReset,应该能够正确处理它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'],
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')});
}
}
}