流星:如何根据先前选择的结果进行选择
Posted
技术标签:
【中文标题】流星:如何根据先前选择的结果进行选择【英文标题】:meteor : How to make select based on result of previous select 【发布时间】:2015-07-21 19:02:42 【问题描述】:我有一个表单,可以在其中选择列表 countryList
和 stateList
。
其中每一个都有一个集合countrys
和'states。
根据所选国家/地区,我希望stateList
仅显示属于所选国家/地区的那些州。
在 states 集合中有一个字段 country,因此我可以根据它进行过滤。
我无法处理创建stateList
的代码????
经过数小时的试验和反复试验,我变成了这样:
Template.registerPartnerStep2.events(
'click #countryList': function (event, template)
var x = myTrim($("#countryList").val());
var y = (Countrys.findOne(country: x));
var z = y.nr;
,
'focus #stateList': function (event, template)
event.preventDefault();
var x = myTrim($("#countryList").val());
var y = (Countrys.findOne(country: x));
var z = y.nr;
if (typeof(this.stateSub) !== 'undefined')
this.stateSub.stop();
this.stateSub = Meteor.subscribe('stateList', z);
)
有人可以帮我进一步吗??
【问题讨论】:
【参考方案1】:为会话使用编辑:
Template.registerPartnerStep2.events(
'change #countryList': function ()
var country = myTrim($("#countryList").val());
Session.set('selectedCountry', country)
);
Template.registerPartnerStep2.helpers(
selectedCountryStates: function ()
var country = Session.get('selectedCountry');
return States.find(country: country)
);
【讨论】:
更改国家/地区后如何使助手功能运行?? 你需要一个监听器,比如说 Session。将选定的国家/地区值设置为 Session 变量并从辅助函数中获取。【参考方案2】:-
通过
onCreated
订阅国家/地区。
对国家/地区更改/点击事件做出反应。
国家变更后,订阅州/地区列表
您的州/地区列表应该在数据到达时做出反应,一个查询本地集合的简单模板助手就足够了。
【讨论】:
以上是关于流星:如何根据先前选择的结果进行选择的主要内容,如果未能解决你的问题,请参考以下文章
如何根据先前的选择根据向下钻取 selectInput() 显示动态更改的地图?
如何连接两个等效表,它们是 SQL Server 中先前递归选择的结果