Backbone Forms使用Backbone Collection和Select Editor选项

时间:2014-04-07 04:51:57

标签: javascript jquery backbone.js backbone-forms

我是Backbone Forms的新手。 我想创建一个选择字段,将骨干集合传递给选项。 阅读BBF文档并不能说清楚。

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

Backbone收集说明 如果使用Backbone集合作为options属性,集合中的模型必须实现toString()方法。这会填充<选项>的标签。模型的ID将填充值属性。

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

任何人都可以提供良好的步骤吗?

我有以下代码

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);

Field1 d rop down使用[object Object]值

进行渲染

1 个答案:

答案 0 :(得分:2)

您需要向toString添加ListModel方法,例如:

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

    toString: function() {
        return this.get('name');
    }
});