0

Реактивной модальность в Meteor JS

Пожалуйста, помогите мне с реактивными модальным в Meteor JS, сначала я заметил, что если я какое-то значение из селектора JQuery в модальном шаблоне я получил правильное значение только на первом модальном «show()», после первого он дает мне одинаковые значения при каждом нажатии. Затем я смотрю на код, есть много модалов с разными id like (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> 
+0

Я просто добавить JQuery селектор .IN и он работает :) 'code'var SelectedPosition = $ ('в #selectPosition.) Найти ("Выбрана").. Текст(); console.log ("selectedPosition:" + selectedPosition); – satmari

ответ

1

На каждом модальном близко использовании $(".modalClass").remove(); или используйте пакет метеоров, который обрабатывает этот процесс для вас. Я использую https://github.com/pahans/reactive-modal. Как вы можете видеть в документах для этого пакета, удаление модального dom выполняется для вас при закрытии модального. NOTICE removeOnHide, который также может быть установлен в true, если вы хотите сохранить dom модала.

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