我正在构建基于流星的webapp。其中一个页面有一个下拉菜单,用户必须从中选择选项(各个学区)。需要检测选择,然后根据选择查询数据库过滤文档并计算返回的文档,然后渲染模板(使用highcharts.js构建的图表)
代码如下:
Template.districtDropdown.events({
'change' : function(event, template){
event.preventDefault();
var selectedValue = template.$("#selectDistrict").val();
console.log("You Selected " + selectedValue);
var filter = {
find: {
'School District' : selectedValue
}
};
Meteor.subscribe('aggByDistrict', filter);
productNames2 = _.uniq(CombinedData.find().map( function(doc) { return doc.Product; }));
console.log(productNames2);
var productValues2 = [];
for(var i = 0; i < productNames2.length; i++) {
productValues2.push(CombinedData.find({'Product' : productNames2[i]}).count())
};
console.log(productValues2);
}
});
我面临三个问题。
任何人都可以就如何解决这些问题向我提出想法吗?
答案 0 :(得分:1)
您的代码有几个问题
Subscribe
需要放入Template.districtDropdown.created
。如果您在活动期间订阅,则订阅期间可能会推迟,并且活动期间没有可用数据DOM
组件。与change #selectDistrict
中一样,然后选择像var selectedValue = $(event.target).val();