Javascript 使用主干模型填充选择字段的选项
我想用“静态”模型中的属性填充选择字段的选项。例如,我有一个模型和一系列美国州:Javascript 使用主干模型填充选择字段的选项,javascript,backbone.js,Javascript,Backbone.js,我想用“静态”模型中的属性填充选择字段的选项。例如,我有一个模型和一系列美国州: State = Backbone.Model.extend({ label:'', value:'' }) ; STATES = Backbone.Collection.extend({ model: State }); states = [ {label: "Select ", value: '__' }, {label: "Alabama ", v
State = Backbone.Model.extend({
label:'',
value:''
}) ;
STATES = Backbone.Collection.extend({
model: State
});
states = [
{label: "Select ", value: '__' },
{label: "Alabama ", value: 'AL' },
{label: "Alaska ", value: 'AK' },
{label: "Arizona ", value: 'AZ' },
....];
localstates = new app.STATES(states); // or fetch the list of states from a RESTful site.
然后,我使用back form创建任何地址视图,并希望将LocalState传递到表单中,以填充state字段的选项:
UserAddress = Backform.Form.extend({
el: $("#personalInformation"),
fields: [
{name: "address1", label: "Address1", control: "input"},
{name: "address2", label: "Address2", control: "input"},
{name: "city", label: "City", control: "input"},
{name: "state", label: "State", control: "select",
options: **localstates**,
{name: "zip", label: "Zip Code", control: "input"},
{control: "button", label: "Save to server"}
],
});
我猜我需要以某种方式将states集合传递到User Address视图中,然后访问属性。但我还没有找到一个好的例子来说明如何做到这一点
edit1:好吧,在这种情况下这有点傻,但是:
newstate = new app.STATES(app.states);
var allstates =[];
app.newstate.forEach(function(state){
allstates.push({"label": state.get("label"), "value" : state.get("value")});
})
提供我可以在localstate上使用的名称和数组。基本上,在本例中,我只是重新创建了我的原始数组。在从服务器获取的情况下,它会很有用,但是有更好的方法吗 您可以执行
localstates.toJSON()
以获取要在模板中使用的值的副本
看DUH!我知道必须有一个简单的方法。