这是我的代码。 我想在打开下拉菜单时加载选项。 它从 ajax 加载数据,但现在不会将其放入下拉列表中。
selectize = selectAgentField.selectize({
create: true,
render: {
option: function(item, escape) {
console.log(item);
return '<div>'+ escape(item.agent_name) + '</div>';
}
},
onChange: function(value) {
selectedValue = value;
},
onDropdownOpen: function() {
WorkersService.getIdleWorkers(function(data) {
selectize.clearOptions();
_.each(data, function(worker, index) {
selectize.addOption({value: index, text: worker.attributes.name, contact_uri: worker.attributes.contact_uri});
})
selectize.refreshOptions(false);
});
}
})[0].selectize;
最佳答案
我没有找到明确的答案为什么上面的代码不起作用。但这是我的代码破解。我在 onFocus 事件上绑定(bind)更新,因此当我单击控件时会触发更新。
selectize = selectAgentField.selectize({
create: false,
onChange: function(value) {
selectedValue = value;
},
// <<<<<< Here is solution >>>>>>
onFocus: function() {
WorkersService.getIdleWorkers(function(data) {
selectize.clearOptions();
_.each(data, function(worker, index) {
selectize.addOption({value: index, text: worker.attributes.name, contact_uri: worker.attributes.contact_uri});
});
selectize.refreshOptions(true);
});
}
})[0].selectize;
关于javascript - 为什么我无法在DropdownOpen 上加载选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754113/