Javascript Meteor:使用下拉菜单从mongodb获取数据并显示结果
我是来自Meteor的新手,我需要实现一个小下拉菜单,并在下拉菜单中搜索选定的数据 我有devices.html: 现在,我要做的是在下拉菜单中选择plane.planeid值,在db中搜索该值,并打印相关数据: 例如,如果我选择plane1,我可以看到planeid、flighttime、pilotname、ecc;如果我从plane1更改为plane2,数据将相应更改 如何将plane_selected值从html传递到devices.js?回到这里,一旦我在数据库中找到了数据,我如何打印将数据从devices.js传递到devices.html的结果 我认为应该在devices.js中,比如Javascript Meteor:使用下拉菜单从mongodb获取数据并显示结果,javascript,meteor,Javascript,Meteor,我是来自Meteor的新手,我需要实现一个小下拉菜单,并在下拉菜单中搜索选定的数据 我有devices.html: 现在,我要做的是在下拉菜单中选择plane.planeid值,在db中搜索该值,并打印相关数据: 例如,如果我选择plane1,我可以看到planeid、flighttime、pilotname、ecc;如果我从plane1更改为plane2,数据将相应更改 如何将plane_selected值从html传递到devices.js?回到这里,一旦我在数据库中找到了数据,我如何打印将
Template.devices.events({
"change #plane-form": function (event, template) {
//console.log("event: " + util.inspect(event) );
//console.log("template: " + util.inspect(template) );
var selected = Session.get("plane_selected");
console.log("selected: " + selected);
}
});
我做错了什么?考虑到您可以选择planeid,您的pub/sub似乎正在工作。您所需要的只是另一个助手,它将返回飞机的其余数据 devices.js devices.html
注意:由您决定是否使用会话或反应式VAR会话变量在页面刷新时丢失。不应该是更改平面选择而不是更改平面表单吗?非常感谢,这种方式很有效!我还了解到我不能只记录Session.set:我尝试了var test=Session.set。。。和console.logtest,但这不起作用。事实上,这在逻辑上是正确的。相反,我使用tred var test=Session.get。。。这会正确地记录日志。Session.setvar,true==>表示您已将true分配给名为var的会话变量。如果要检索var的值,则需要执行Session.getvar。无法设置var test=Session.set。。。。它应该是``var test=Session.get```
Template.devices.helpers({
plane: function() {
return plane.find({});
}
});
Template.devices.events({
"change #plane-form": function (event, template) {
//console.log("event: " + util.inspect(event) );
//console.log("template: " + util.inspect(template) );
var selected = Session.get("plane_selected");
console.log("selected: " + selected);
}
});
Template.devices.events({
"change #plane-select": function (event, template) {
var selected = event.target.value;
console.log("selected: " + selected);
Session.set("selectedPlane", selected);
}
});
Template.devices.helpers({
plane: function() {
return plane.find({});
},
planeData: function() {
return planes.findOne({
planeId: Session.get("selectedPlane")
});
}
});
<p>
planeID: {{planeData.planeid}}
planeName: {{planeData.planeName}}
...
...
</p>