在每个节目()上创建新的模态对话框

时间:2014-10-29 21:50:00

标签: javascript jquery twitter-bootstrap meteor bootstrap-modal

Meteor js

中的反应模态

请帮助我使用Meteor js中的反应模态,首先我注意到如果我从模态模板中的jQuery选择器获取一些值,我只在第一个模态“show()”上获得了适当的值,在第一个模式后,他给了我相同的值每次点击。 然后我看代码有很多不同id的模态(id =“rm-1e7385aa-4ca8-491b-be4e-81baa2afffbc”),可能会导致问题。 我尝试使用模板保留,但没有成功。 你能帮我解决这个问题吗?

代码与此类似,

// Reactive Table events
  Template.reactiveTebleList.events({
      'click .reactive-table tbody tr': function (event) {
      var rd_editorder = ReactiveModal.initDialog(rm_EditOrder);
      rd_editorder.show();
     }
 });

   var rm_EditOrder = {
    type: 'type-default',  
    template: Template.tmp_EditOrder, 
     title: "Edit Order",
     removeOnHide: true,
     closable: true,
     buttons: {
          "cancel": {
            class: 'btn-danger',
            label: 'Cancel'
          },
          "ok": {
            closeModalOnClick: true, 
            class: 'btn-info',
            label: 'Back'
          }
      }
    }; 

Template.tmp_EditOrder.events({
'click #saveposition': function(e){

      var selectedPosition = $('#selectPosition').find(":selected").text();
      console.log("selectedPosition: " + selectedPosition);

      rm_EditOrder.hide();
},


<template name="tmp_EditOrder">
    <select class="form-control" id="selectPosition">
                {{#each position}}
                     <option>{{this}}</option>
                {{/each}}
     </select>
 <button type="submit" id="saveposition" class="btn btn-primary">Save Position</button>
</template>

1 个答案:

答案 0 :(得分:1)

在每个模态关闭时使用$(".modalClass").remove();或使用为您处理该过程的流星包。我一直在使用https://github.com/pahans/reactive-modal。正如您在此软件包的文档中所看到的,在关闭模态时,将为您完成模式dom的移除。注意removeOnHide如果你想保留模态的dom,也可以设置为true。

var shareDialogInfo = {
template: Template.appShareDialog,
title: "Share the app",
modalDialogClass: "share-modal-dialog", //optional
modalBodyClass: "share-modal-body", //optional
modalFooterClass: "share-modal-footer",//optional
removeOnHide: true, //optional. If this is true, modal will be removed from DOM upon hiding