Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor:使用下拉菜单从mongodb获取数据并显示结果_Javascript_Meteor - Fatal编程技术网

Javascript Meteor:使用下拉菜单从mongodb获取数据并显示结果

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?回到这里,一旦我在数据库中找到了数据,我如何打印将

我是来自Meteor的新手,我需要实现一个小下拉菜单,并在下拉菜单中搜索选定的数据

我有devices.html:

现在,我要做的是在下拉菜单中选择plane.planeid值,在db中搜索该值,并打印相关数据: 例如,如果我选择plane1,我可以看到planeid、flighttime、pilotname、ecc;如果我从plane1更改为plane2,数据将相应更改

如何将plane_selected值从html传递到devices.js?回到这里,一旦我在数据库中找到了数据,我如何打印将数据从devices.js传递到devices.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>