0

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;
    }
});
4

1 回答 1

2

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

您可以尝试这样的事情:

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

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

于 2013-02-07T18:28:57.060 回答