Backbone.js - 将集合呈现为HTML选项标记

时间:2013-02-07 15:52:30

标签: backbone.js

A有一系列我想要渲染到模板中现有<select>元素的项目。我遇到的问题是视图始终将<option>列表包含在DIV标记中。如何在没有任何包装元素的情况下呈现<option>列表?

模板:

<script type="text/template" id="template-select">
    <% _(elements).each(function(element) { %>
            <option value="<%= element.id %>"><%= element.name %></option>
    <% }); %>
</script>

查看:

myView = Backbone.View.extend({
    template: template('template-select'),
    render: function() {
        this.$el.html(this.template({
                elements: this.collection.toJSON()
            }));
        return this;
    }
});

1 个答案:

答案 0 :(得分:2)

我假设您在其他地方创建该视图的实例添加渲染/将其添加到<select>元素。

您可以尝试这样的事情:

var view = new myView({el: '#id-of-existing-select'});
view.render();

这会使视图使用现有的<select>,而不是生成<div>