流星将数据从链接传递到模态

时间:2014-07-05 12:01:25

标签: javascript twitter-bootstrap meteor

我正在尝试将ID从href传递到单击链接时打开的模式。

我有模式弹出Ok,但是我没有链接中的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事件,如下所示

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

但这是父ID而不是引用ID(当我关闭对话时,这似乎只会触发)。

我该如何通过?

2 个答案:

答案 0 :(得分:4)

会话变量是一种方法,但如果使用peppelg:bootstrap-3-modal包,则可以将父上下文传递给show函数。

的javascript

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

HTML

<template name="<ModalName>">
    <!-- modal format -->
</template>

答案 1 :(得分:1)

如果您已经实现了显示模态的代码,则可以使用会话变量

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

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

然后在您的模板中有链接

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

this是showQuote链接周围的数据上下文,然后将Session变量与模态接口