0

<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 に答える