在Marionette.compositeview中填充多个选择框数据

时间:2014-07-13 11:17:50

标签: marionette

在merionette.js中,我在表单中有两个以上的selectbox。如果我将表单作为复合视图,我如何在这些选择框中填充数据。有什么办法吗?如果不是我能做什么?

1 个答案:

答案 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);
        });

    }

});