5

我有一个需要显示/隐藏另一个输入框的复选框。我正在执行以下操作:

架构:

isFlexibleTime:
   type: Boolean
   label: 'Is the start time flexible?'
flexibleTimeDetails:
   type: String
   label: 'Flexible time details'
   optional: true

模板:

+afQuickField(name='isFlexibleTime')

if afFieldValueIs name='isFlexibleTime' value=true
    +afQuickField(name='flexibleTimeDetails')

助手将触发一次并显示另一个字段,但不会再次触发。任何有关错误的帮助将不胜感激。

4

1 回答 1

3

编辑

实际上,经过进一步检查,从 AutoForm 5.1.2 https://github.com/aldeed/meteor-autoform/issues/861开始,复选框事件似乎目前存在错误

该问题已经公开了一段时间,因此您可以使用以下快速解决方法:

在您的模板事件中:

'click [name=isFlexibleTime]': function() {
    Session.set('isFlexibleTime', AutoForm.getFieldValue('isFlexibleTime','ID_OF_YOUR_AUTOFORM'));
}

模板助手:

isChecked: function() {
            return Session.get('isFlexibleTime');
}

然后:

{{#if isChecked}}
         {{> afQuickField name="flexibleTimeDetails"}}
{{/if}}

我不确定这是否是您的实际语法,但按照以下示例:http ://autoform.meteor.com/fieldvalues它应该如下所示:

 {{> afQuickField name="isFlexibleTime"}}
 {{#if afFieldValueIs name="isFlexibleTime" value="true"}}
      {{> afQuickField name="flexibleTimeDetails"}}
 {{/if}}
于 2015-04-18T08:19:43.893 回答