2014-07-05 3 views
2

href의 ID를 링크를 클릭 할 때 열리는 모달로 전달하려고합니다.유성우가 링크에서 모달로 데이터를 전달합니다.

나는 모달을 터트 려 왔지만, 링크의 ID 대신에이 페이지에서 부모 페이지의 ID를 얻고있다.

링크에 대한 내 코드

<table class="table table-striped table-condensed"> 
    <tbody 
      <tr> 
       <th>Posted</th> 
       <th>ID</th> 
      </tr> 
      {{#each quotes}} 
       <tr> 
        <td>{{submittedText}}</td> 
        <td><a href="#showQuote" class="showQuote" data-toggle="modal">{{_id}}</a></td> 
       </tr> 
      {{/each}} 
    </tbody> 
올바른 인용 ID가 테이블에

,하지만 난이 인용 ID가 결과 모달에 표시하는 방법을 알아 작동하지 않을 수 열립니다.

나는

'click #showQuote' : function(t,e) { 
    console.log(this); 
    console.log(t); 
    console.log(e); 
    debugger; 
    } 

을 다음 그러나이 부모 ID가 아닌 인용 한 (그리고 이것은 단지 어쨌든 대화를 닫을 때 트리거하는 것)와 같은 도우미에서 클릭 이벤트를 트래핑했습니다.

어떻게 전달하나요? 당신은 이미 당신이 변수 세션이 링크

Template.template_with_modal_link.events({ 
    'click . showQuote': function() { 
     Session.set('quotedata', this); 
    } 
}); 

this이 템플릿에서 다음

<template name="modalstuff"> 
    ... 
    {{#with quoteinfo}} 
     MODAL HERE 
     ... 
    {{/with}} 
</template> 

Template.modalstuff.helpers({ 
    quoteinfo: function() { 
     return Session.get("quotedata"); 
    } 
}); 

를 사용할 수 모달를 표시하는 코드를 구현 한 경우

답변

1

데이터 컨텍스트입니다 showquote 링크 주위에 modal에 대한 세션 변수와 인터페이스 할 것입니다.

+0

나는 그것을에 id = "showQuote"를 제공하여 내 심판을 변경하고 (ID를 기반으로) 보여 나는이 ID를 얻을 이벤트를 잡을 경우 처리기에서 따옴표를 사용하지만, 모달이 나타나지 않습니다 (배경을 얻습니다). 왜냐하면 앱이 존재하지 않는 끝에 #showQuote로 URL을 표시하려고하기 때문입니다. ID를 삭제하고 #showQuote를 잡으면 모달을 종료 할 때 기본 페이지가 표시되고 항목은 아무것도 표시되지 않습니다. –

+0

@PeterNUnn 죄송합니다. 복사 붙여 넣기에서 코드에 오타가 있었는데,이 클래스는'click .showQuote' 클래스를 사용하기로되어 있습니다. (. 뒤에 공백이 있습니다.). 이제 해결되었습니다. – Akshat

+0

고맙습니다. @Akshat 저는 그걸 가지고 있습니다,하지만 여전히 대화 상자가 나타나지 않습니다. 이드를 넣을 때 링크 URL에 추가되고 모달이 표시되지 않습니다. –

4

세션 변수는이를 수행하는 한 가지 방법이지만, 예를 들어 peppelg:bootstrap-3-modal 패키지의 경우 부모 함수를 show 함수에 전달할 수 있습니다.

자바 스크립트

Template.template_with_modal_link.events({ 
    'click . showQuote': function() { 
     Modal.show('<ModalName>', this); // parent context this 
} }); 

HTML

<template name="<ModalName>"> 
    <!-- modal format --> 
</template> 
관련 문제