在merionette.js中,我在表单中有两个以上的selectbox。如果我将表单作为复合视图,我如何在这些选择框中填充数据。有什么办法吗?如果不是我能做什么?
答案 0 :(得分:1)
CompositeView并不意味着填充选择框。它用于渲染集合。典型的例子是树,或者通常是Order和OrderDetails。要异步填充选择框,请创建一个Collection并使用视图的onRender。以下是一个例子。
var AddressView = new Backbone.Marionette.ItemView.extend({
onRender: function() {
var self = this;
var statuses = new Backbone.Marionette.Collection.extend({url:"/order/statuses", model: Backbone.Model.extend({}) });
statuses.fetch().done(function(){
var html = '';
statuses.each(function(statusModel){
html += '<option value="'+statusModel.get('id')+'">'+statusModel.get('name')+'</option>';
});
self.ui.selectBox.html(html);
});
}
});