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
Meteor 流星选择的形式问题?_Meteor - Fatal编程技术网

Meteor 流星选择的形式问题?

Meteor 流星选择的形式问题?,meteor,Meteor,我有两个选择项目在一个国家和州的形式,取决于在国家的选择第二选择作为其他国家的价值观在它 当我在一个空的表单中执行它时,它就起作用了。代码如下: Template.registerPartnerStep2.events{ “更改国家列表”:函数事件,模板{ 违约事件; var x=myTrim$countryList.val; var y=Countrys.findOne{country:x}; var z=y.nr; iftemplate.stateSub!=空{ template.state

我有两个选择项目在一个国家和州的形式,取决于在国家的选择第二选择作为其他国家的价值观在它

当我在一个空的表单中执行它时,它就起作用了。代码如下:

Template.registerPartnerStep2.events{ “更改国家列表”:函数事件,模板{ 违约事件; var x=myTrim$countryList.val; var y=Countrys.findOne{country:x}; var z=y.nr; iftemplate.stateSub!=空{ template.stateSub.stop; } template.stateSub=Meteor.subscribe'stateList',z; }, “更改状态列表”:functionevent,模板{ 违约事件; var x=myTrim$stateList.val; 如果template.citySub!=null{ template.citySub.stop; } template.citySub=Meteor.subscribe'cityList',x; },

我的模板的一部分:

{{#with addressFormData}}
        <form id="partnerAddressForm" class="form-horizontal" role="form">
            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"Company"}}</label>
                <div class="col-sm-10">
                    <input type="text" placeholder="{{_"Company name"}}" id="company" class="form-control" value="{{partner_company}}">
                </div>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"VAT nr"}} </label>
                <div class="col-sm-10">
                    <input type="text" placeholder="{{_"VAT nr"}}" id="vatNr" class="form-control" value="{{partner_vat_nr}}">
                </div>
            </div>

            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"Phone"}}"</label>
                <div class="col-sm-4">
                    <input type="text" placeholder="{{_"Phone"}}" id="phoneNr" class="form-control"  value="{{partner_phone_nr}}">
                </div>

                <label class="col-sm-2 control-label" for="textinput">{{_"Mobile"}}</label>
                <div class="col-sm-4">
                    <input type="text" placeholder="{{_"Mobile"}}" id="mobileNr" class="form-control"  value="{{partner_mobile_nr}}">
                </div>
            </div>


            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"Line 1"}}</label>
                <div class="col-sm-10">
                    <input type="text" placeholder="{{_"Address Line 1"}}" id="addressLine1" class="form-control"  value="{{partner_address_line_1}}">
                </div>
            </div>

            <!-- Text input-->
            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"Line 2"}}</label>
                <div class="col-sm-10">
                    <input type="text" placeholder="{{_"Address Line 2"}}" id="addressLine2" class="form-control" value="{{partner_address_line_2}}">
                </div>
            </div>

            <!-- Text input-->
            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"Country"}}</label>
                <div class="col-sm-10">

                    <select id = "countryList"  placeholder="{{_"Country"}}" class="form-control">
                        <option disabled selected>{{_"-- select an option --"}} </option>
                        <option selected="selected">{{partner_country}}</option>
                        {{#each countrys}}
                            {{> country}}
                        {{/each}}
                    </select>

                </div>
            </div>

            <!-- Text input    STATE ZIPCODE-->
            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"State"}}</label>
                <div class="col-sm-4">

                    <select id = "stateList"  placeholder="{{_"State"}}" class="form-control" value="{{partner_state}}">
                        <option disabled selected>{{_"-- select an option --"}}</option>
                        <option selected="selected">{{partner_state}}</option>
                        {{#each states}}
                            {{> state}}
                        {{/each}}
                    </select>
                </div>
                <label class="col-sm-2 control-label" for="textinput">{{_"zipcode"}}</label>
                <div class="col-sm-4">
                    <input type="text" id=zipcode placeholder="{{_"zipcode"}}" class="form-control" value="{{partner_zipcode}}" readonly>
                </div>
            </div>

            <!-- Text input     CITY-->

            <div class="form-group">
                <label class="col-sm-2 control-label" for="textinput">{{_"City"}}</label>
                <div class="col-sm-10">

                    <select id = "cityList"  placeholder="City" class="form-control" value="{{partner_city}}">
                        <option disabled selected>{{_"-- select an option --"}} </option>
                        <option selected="selected">{{partner_city}}</option>
                        {{#each citys}}
                            {{> city}}
                        {{/each}}
                    </select>
                </div>
            </div>

            <!-- Button SUBMIT-->

            <div class="col-sm-12 controls">
第一个问题是,当select中已经有值时,我如何修复它以使其在编辑模式下工作

我在选择中填写以下内容:

{{伙伴国}

但这已经带来了一个问题,当我在列表中选择时,所选值会被列出两次

第二个问题:由于事件为“更改”,状态列表仅显示所选状态中的一个!当添加事件时,单击状态列表我必须始终在列表上单击两次,然后才能填充集合


谢谢!

我想主要的一点是,您不应该担心填充选择。我们不必再接触DOM,因为如果您正确设置Meteor,它会自动反应

您只需要设置要从集合中填充的选择,然后确保Meteor在选择更改时做出反应

Meteor中有很多东西是自动反应的——它们只是工作而已。例如,如果你的模板显示一个记录列表,而有人在数据库中插入了一条新记录,Meteor只会显示新记录,因为Blaze会反应性地显示新插入的记录

我尽量只使用Meteor提供的开箱即用的自动反应对象

然而,在我们的例子中,我使用了一个会话变量和另一个反应源来确保Meteor反应

每当国家选择更改时,我们都会设置一个“statenr”会话变量。我们在states helper中使用相同的会话变量从states集合中获取状态。由于我们的会话变量是被动的,所以无论何时更改,Meteor都会返回states集合并再次获取状态。因此,我们的states select对象会更改Meteor为我们设计的,我们不需要重新填充,所以我们不存在重复状态的问题

我为您做了一个Meteopad示例,以便您了解我的意思:

要将所选国家/地区和州输入到选择中,您需要以下代码:

Template.registerHelper('selected', function(key, value){
  return key == value ? {selected:'selected'}: '';
});
我从这个稍微过时的第二页答案中得到的

然后调用助手see{{selected partner.statenr}}从模板中分别如下所示:

    <select id="partnerStates">
      <option disabled selected value="">Choose a state</option>
      {{#each states partner.countrynr}}
        <option value="{{nr}}" {{selected partner.statenr nr}}>
          {{name}}
        </option>
      {{/each}}
    </select>

如果你回到Meteopad,你可以看到它在页面的下半部分工作。启动时,我用德国和Ost Friesland nrs填写了一份合作伙伴记录,然后在页面的下半部分的模板中显示它。

请显示模板的相关部分,谢谢更改文本并包括部分模板!明天我花一天的时间去p再深入一点,我现在告诉你任何问题!感谢你为帮助某人所付出的所有精力!很高兴看到meteor社区如此优秀!你好,我已经在自己工作了。当你以一种形式使用它时,困难开始了,在程序开始时,这些字段不仅是空的添加新记录,而且当我们使用它时s在必须编辑现有记录的上下文中!我如何将集合中的值放入“选择”字段?如果我的问题不清楚,我将用一个可以添加和编辑记录的表单更改您的示例谢谢!好的,看看您是否可以用一个尽可能具体的示例来说明。您好,我的testapp位于zawadi.met上eor.com尝试创建一个合作伙伴正常情况下,在注销后选择工作正常,并使用此合作伙伴id和passw登录,然后您进入配置文件页面,在那里您将看到已填写的国家/地区城市。尝试更改国家/地区城市,您将看到问题!当我再次登录时,无法看到任何国家/地区城市,这是b在用户配置文件仪表板位下方的空白处,Chrome开发者控制台中出现错误:ReferenceError:模板未定义这是因为您创建了一个普通用户而不是合作伙伴,您可以使用登录louis@test.be密码:rw1313ikke