流星:如何根据先前选择的结果进行选择

Posted

技术标签:

【中文标题】流星:如何根据先前选择的结果进行选择【英文标题】:meteor : How to make select based on result of previous select 【发布时间】:2015-07-21 19:02:42 【问题描述】:

我有一个表单,可以在其中选择列表 countryListstateList 。 其中每一个都有一个集合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 中先前递归选择的结果

Django 根据先前的查询选择数据库对象

如何根据同一仪器中先前的复选框结果自动填充 REDCap 复选框

根据先前的选择填充下拉列表

jquery bootstrap selectpicker根据先前的列表选择刷新列表