如何在BackboneJS中显示Model属性的选择列表(下拉列表)?

sam*_*ore 7 javascript backbone.js knockout.js

我试图在Backbone.js中构建一个简单的联系人编辑器应用程序,我遇到了一个我不知道如何解决的问题,因为我还不熟悉Backbone.js.

我有一个模型Contact,该项目有一个字段ProductLineID(每个联系人都有一个与之关联的产品系列).在显示此联系人的编辑器时,我想显示一个带有可能的ProductLine选项的下拉列表,并将其预设为当前值.我如何在Backbone.js中做到这一点?

我知道如何使用数据绑定在knockout.js中执行此操作:

<select id="ProductLineID" name="ProductLineID"
        data-bind="options: productLineOptions, 
        optionsValue: 'ID', 
        optionsText: 'Name', 
        value: ProductLineID, 
        optionsCaption: 'All'">
</select>
Run Code Online (Sandbox Code Playgroud)

在此示例中,productLineOptions是已在页面上预加载的JSON对象.

这将完全符合我的要求,但我不知道如何在Backbone.js中完成相同的工作.

我可以从我的实际例子中提供更多代码,但这看起来像是一个简单的例子而且不需要特定的代码.

sat*_*run 13

如果使用下划线模板,以下内容将起作用:

<select id="ProductLineID" name="ProductLineID">
    <option value="">--select a product line--</option>
    <% _(productLineOptions).each(function(pl) { %>
      <option value="<%= pl.ID %>"><%= pl.Name %></option>
    <% }); %>
</select>
Run Code Online (Sandbox Code Playgroud)

然后你只需要确保将productLineOptions对象传入模板的上下文中.