Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Meteor 流星:如何根据上次选择的结果进行选择_Meteor_Meteor Helper - Fatal编程技术网

Meteor 流星:如何根据上次选择的结果进行选择

Meteor 流星:如何根据上次选择的结果进行选择,meteor,meteor-helper,Meteor,Meteor Helper,我有一个表单,可以在其中选择列表countryListanstateList。 每个国家都有一个集合country和“states” 根据所选国家,我希望状态列表仅显示属于所选国家的那些状态 在states集合中有一个field country,因此我可以根据它进行筛选 我无法处理创建状态列表的代码 经过数小时的实验、尝试和错误,我变成了这样: Template.registerPartnerStep2.events({ 'click #countryList': function (event

我有一个表单,可以在其中选择列表
countryList
an
stateList
。 每个国家都有一个集合
country
和“states”

根据所选国家,我希望
状态列表
仅显示属于所选国家的那些状态

在states集合中有一个field country,因此我可以根据它进行筛选

我无法处理创建
状态列表的代码

经过数小时的实验、尝试和错误,我变成了这样:

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);

}
})
有人能进一步帮助我吗

  • 订阅国家/地区,网址为
    onCreated
  • 对国家/地区变更事件作出反应/单击
  • 国家/地区更改后,订阅州/地区列表
  • 您的州/地区列表应该在数据到达时做出反应,一个查询本地集合的简单模板帮助器就足够了

  • 编辑以供会话使用:

    Template.registerPartnerStep2.events({
    
        'change #countryList': function () {
            var country = myTrim($("#countryList").val());
            Session.set('selectedCountry', country)
        }
    
    });
    


    我怎样才能使helper函数在更改国家/地区后运行?您需要一个侦听器,比如会话。将选定的国家/地区值设置为会话变量,并从helper函数中获取该值。
    Template.registerPartnerStep2.helpers({
    
        selectedCountryStates: function () {
            var country = Session.get('selectedCountry');
            return States.find({country: country})
        }
    
    });