2013-02-07 2 views
0

템플릿에 기존 <select> 엘레멘트로 렌더링하고 싶은 항목이 있습니다. 내가 가진 문제는보기가 항상 태그에 <option> 목록을 래핑한다는 것입니다. 어떻게 랩핑 요소없이 <option> 목록 만 렌더링 할 수 있습니까?Backbone.js - 컬렉션을 HTML 옵션 태그로 렌더링

템플릿 :

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

답변

2

내가 다른 곳에서 당신이 <select> 요소에 추가/그 뷰 추가 렌더링의 인스턴스를 생성한다고 가정합니다.

이 대신 같은 것을 시도 할 수 있습니다 :

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

이 뷰가 <div>을 생성하는 대신 기존 <select>을 사용하여 만들 것입니다.

+0

답변 해 주셔서 감사합니다. 내가 가지고있는 문제는 ''이 없으면 [tagName 설정 (http://backbonejs.org/#View-extend)]을 '선택'으로 설정하고 대신 사용자가 렌더링/추가를 시도하십시오. –

관련 문제