2015-04-17 5 views
5

Ich habe ein Kontrollkästchen, das ein anderes Eingabefeld anzeigen/verbergen muss. Ich mache folgendes:Meteor autoform "afFieldValueIs" mit einem booleschen Kontrollkästchen wird nur einmal ausgelöst

Schema:

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

Vorlage:

+afQuickField(name='isFlexibleTime') 

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

Der Helfer einmal auslösen und das andere Feld zeigen, aber es wird nicht wieder auslösen. Jede Hilfe in was falsch ist würde sehr geschätzt werden.

Antwort

3

EDIT

Eigentlich auf weitere Inspektion scheint es mit dem Kontrollkästchen Ereignisse zur Zeit einen Fehler wie von Autoform wurde 5.1.2 https://github.com/aldeed/meteor-autoform/issues/861

Die Frage ein Weilchen offen ist, so dass Sie schnell nutzen können Abhilfe wie:

in Ihrer Vorlage Veranstaltung:

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

Template Helfer:

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

dann:

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

Ich bin mir nicht sicher, ob das Ihre tatsächliche Syntax ist aber nach dem Beispiel aus: http://autoform.meteor.com/fieldvalues es soll wie folgt aussehen:

{{> afQuickField name="isFlexibleTime"}} 
{{#if afFieldValueIs name="isFlexibleTime" value="true"}} 
     {{> afQuickField name="flexibleTimeDetails"}} 
{{/if}} 
+1

vielen Dank! Tonne @ Jon. Das ist großartig zu wissen. Ich werde nur diesen PR überwachen und den Fix ziehen, sobald er zusammengeführt ist. – sturoid

Verwandte Themen