0

在 Backbone 中,我有一个集合,其中填充了一些 JSON 数据,如下所示。

[
{
    "test1": {
        "fistName": "test",
        "lastName": "example"
    },
    "test2": {
        "fistName": "test",
        "lastName": "example"
    }
},
{
    "test1": {
        "fistName": "test",
        "fistName": "example"
    },
    "test2": {
        "fistName": "test",
        "fistName": "example"
    }
},

]

目前我正在尝试向包含上述数据的集合添加一个新模型。

这是模型。

Test = Backbone.Model.extend({
defaults : {
        test1: {
            firstName: null,
            lastName: null
        },
        test2: {
            firstName: null,
            lastName: null
        }
    },

});

下面是我正在尝试的

var test = new Test({test1: {firstName: $("#test1 option:selected").val(), score: $("#test1lastName").val()}}, {test2: {firstName: $("#test2 option:selected").val(), score: $("#test2lastName").val()}});

myCollection.add(test);

然而,这样做只会填充 test1 数据而不是 test2 数据。将 test1 和 test2 数据添加到模型中的正确方法是什么,然后可以将其添加到集合中。

谢谢

更新

只是为了澄清,测试1和2不是单独的对象,它们彼此相关并且需要在同一个模型中

4

1 回答 1

3

编辑,取决于您的模型是如何定义的,如果您将其格式化如下,您可能能够更好地调试。

var test = new TFS.Test({
    test1: {
        firstName: $("#test1 option:selected").val(),,
        lastName: '', // code for last name? 
        score: $("#test1lastName").val()
    },
    test2: {
        firstName: $("#test2 option:selected").val(),
        lastName: '', 
        score: $("#test2lastName").val()
    }
});

myCollection.add(test);

I might be able to offer you a little more help if you give a better view of the entire action/process - i.e. what is triggering the creation of these models? Could there be a problem with jQuery, and your document not being ready?

于 2012-07-18T10:37:37.293 回答