2016-07-06 2 views
1

헬퍼 함수에서 반환 한 배열에 따라 div 요소를 반복하는 {{#each}} 루프를 사용하고 있습니다. 이제 예를 들어 버튼을 클릭 할 때 첫 번째 요소에서 버튼을 클릭하면 버튼 클릭이 해당 요소의 ID를 반환해야 할 때 요소의 ID를 저장하려고합니다.템플릿에서 유성의 js 파일로 가져 오기

  <div class="row"> 
      {{#each db}} 
      <div class="col-md-4"> 
       <a href="#" class="product-name" id="packageSelected">{{ this.title }}</a> 
       <div class="small m-t-xs"> 
        {{this.description}} 
       </div> 
       <button class="btn btn-sm btn-primary" id="packageNext" value="{{this._id}}">Next</button> 
      </div> 
      {{/each}} 
     </div> 

버튼을 클릭하면 버튼이 클릭 된 요소의 ID가 아닌 첫 번째 요소의 ID 만 반환됩니다.

Template.package.events({ 
    'click #packageNext':function(event){ 
     event.preventDefault(); 
     var packageSelected=$("#packageNext").val(); 
     console.log(packageSelected); 
    } 
}); 

제목을 얻기 위해 아래 코드를 사용해 보았습니다.

Template.package.events({ 
    'click #packageNext':function(event){ 
     event.preventDefault(); 
     var packageSelected=$(".m-t-xs").text(); 
     console.log(packageSelected); 
    } 
}); 

답변

1

는 더 간단한 방법이있다 : 유성 템플릿 이벤트, this는 현재 데이터 컨텍스트 될 것입니다. 그래서 그냥 :

Template.package.events({ 
    'click #packageNext'(event) { 
    console.log(this); // the whole object 
    console.log(this._id); // the _id of the object 
    } 
}); 
+0

사실이 방법이 더 정확한 해결책 일 수 있습니다. –

+0

나를 위해 대답은 모두 효과가 있었지만 이것이 합법이라고 생각합니다. 두 가지 대답 모두에 대해 감사드립니다. –