1

我是主干表单的新手。我想创建一个 Select 字段,并将主干集合传递给选项。阅读 BBF 文档并不清楚。

--- 取自文档 ------

Backbone 集合注意事项 如果使用 Backbone 集合作为选项属性,则集合中的模型必须实现 toString() 方法。这将填充 <option> 的标签。模型的 ID 填充 value 属性。

----取自文档-----

任何人都可以提供一个很好的例子吗?

我有以下代码

var ListModel = Backbone.Model.extend({
    defaults: {
        name: '',
        value: ''
    }
});

var Collection = Backbone.Collection.extend({
    model: ListModel
});

var collection = new Collection([
    {name: 'test1', value: '1'},
    {name: 'test2', value: '2'},
    {name: 'test3', value: '3'}
]);

var User = Backbone.Model.extend({
    schema: {
        field1: { type: 'Select', options: collection },
        field2: { type: 'Select', options: ['Select 2']},
        field3: { type: 'Select', options: ['Select 3']}
    },

    fieldsets: {
        legend: 'Select Form',
        fields: ['fields1', 'fields2','fields3']
    },

    idPrefix: null
}

var user = new User();

var form = new Backbone.Form({
    model: user,
    idPrefix: null
}).render();

$('#main').append(form.el);

使用 [object Object] 值渲染 Field1 d 下拉列表

4

1 回答 1

2

您需要在 中添加一个toString方法ListModel,例如:

var ListModel = Backbone.Model.extend({
    defaults: {
        name: '',
        value: ''
    },

    toString: function() {
        return this.get('name');
    }
});
于 2014-04-08T11:47:38.273 回答