Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用主干模型填充选择字段的选项_Javascript_Backbone.js - Fatal编程技术网

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!我知道必须有一个简单的方法。