我有一个“国家/地区”集合,其中显示了国家/地区及其信息的列表。书籍选项将用户引导至“活动”表单,该表单包含To,From等下拉字段。如何传递“国家/地区”ID,以便“活动”中的表单字段属于用户单击其“书籍”按钮的“国家/地区”。我想我应该使用一个被动变量来存储国家ID,然后执行操作来相应地更改表单字段。我对此非常陌生,对这种方法的追求将深受赞赏。
活动收集的提交代码是:
Template.activitySubmit.onRendered(function () {
if (Session.get("submit-bypass") === true) {
Session.set("submit-bypass", false);
window.history.back();
}
$("#activity-goal").material_select();
});
Template.activitySubmit.events({
"submit form": function (e) {
e.preventDefault();
var title = $(e.target).find("#activity-title").val()
if (title.length === 0) {
throwError("You must have a title.");
$("activity-title").focus();
return;
}
var activty = {
title: title,
goal: parseInt($(e.target).find("#activity-goal").val())
};
Meteor.call("activityInsert", activty, function (error, result) {
if (error) {
throwError(error.reason);
return;
}
Session.set("submit-bypass", true);
Router.go("activityPage", { _id: result._id });
});
}
});
答案 0 :(得分:0)
这是你应该如何使用反应性var包
meteor add reactive-var
activitySubmit.js
Template.activitySubmit.onRendered(function () {
this.selectedCountry = new ReactiveVar(null);
});
`
Template.activitySubmit.events({
'change #country': function(e){
var country = $(e.target).val()
var instance = Template.instance();
instance.selectedCountry.set(country);
},
'submit form': function (e) {
....
var instance = Template.instance();
var country = instance.selectedCountry.get(country);
....
}
});`
Session.set('myId', id)
和Session.get('myId')