2017-11-05 15 views
1

私は流星には新しく、は、あるフィールドの値が、オートフォームの別のフィールドの値を決定するフォームを作成したいと思っています。セットアップタイプを "A"、 "B"、 "C"としましょう。 "A"を選択すると、オートフォームがロードされます。 、
1.「」カウントオプションについては9,11のようになります。私は、カウントオプションがあるべき1つのフィールドを作る方法流星オートフォームの他のフィールドの値に依存しますか?

{{#each users}} 
     {{> afQuickField name='userEmail' value=userEmail readOnly=true }} 
     {{> afQuickField name='Setup' value=type readOnly=true}} 
     {{> afQuickField name='Profile' options='allowed' }} 
     {{> afQuickField name='Purpose' }} 
     {{> afQuickField name='count' options='allowed' }} 
     {{> afQuickField name='PackageDirectory' options='allowed' }} 
     {{> afQuickField name="logName" options=LogName }} 
{{/each}} 

それは、すべてのA、Bのために表示される一般的なすなわち、このフォームを作った、とC.

ています12。 「B」の場合
2.それは私がセットアップを選択したときに、私は「」私が取得する必要がありますので、この

Setup:{ 
     type: String, 
     label:"Setup", 
     optional:false, 
     defaultValue:type 
     }, 
count:{ 
     type: String, 
     label:"No. Of count", 
     optional: true, 
     allowedValues:["9","11","12"], 
     autoform:{ 
      afFieldInput:{ 
      firstOption:"(Select the count)" 
      } 
     } 
    } 

のようなコードを書かれているスキーマ5.
だ「C」の場合は1
3.です3つのドロップダウンオプションがあり、「B」と「C」をクリックすると、デフォルト値がそれぞれ1と5になるはずです。 誰も私の問題を解決することはできますか?

答えて

0

getFieldValueを使用して、特定のフィールドの値を取得し、それに基づいて、テンプレートヘルパーからoptionまたはdefaultValueのセットを返します。 ドキュメントは、あなたのコードに従ったのでhere

を発見された:

form.html:

... 
{{#autoForm id="sampleFormID" ... ... }} 
    {{> afQuickField name='Setup' value=type readOnly=true}} 
    {{> afQuickField name='count' options=allowedOptionHelper defaultValue=defaultValueHelper }} 
    ... 

{{/autoForm}} 

form.js

Template.templateName.helpers({ 

    allowedOptionsHelper: function() { 
     if (AutoForm.getFieldValue('Setup', 'sampleFormID') === 'A') { 
      return [{label:"9", value:"9"},{label:"11",value:"11"},{label:"12", value:"12"}]; 
      else 
      if (AutoForm.getFieldValue('Setup', 'sampleFormID') === 'B') { 
       // return the options for B 
      } else if (AutoForm.getFieldValue('Setup', 'sampleFormID') === 'C')) { 
      // return the options for C 
     } 
    }, 

    defaultValueHelper: function() { 
     if (AutoForm.getFieldValue('Setup', 'sampleFormID') === 'A') { 
      return 11 //or whatever the defaultValue is; 
     } 
     //likewise for options B and C 
    } 

}); 

schema.js

+0

私は提案したコードを変更しましたが、「A」という設定を選択するとカウントフィールドにドロップダウンが表示されません。 – Snkini

+0

ドロップダウンフィールド自体は表示されませんか?またはドロップダウン値が表示されていませんか。それが後者なら、おそらく戻り値の型で行うべきことです。 return文の前にconsole.log文を入れて、実際に何かを返すかどうかを調べることができます。また、カウント・スキーマ・タイプで行ったタイプの不一致に気がつきました。私はそれを修正しました。 – blueren

+0

私は値とドロップダウンの両方が表示されていないので、あなたが言ったことが正しいと理解している限り、戻り値をチェックしました。しかし、この場合は機能しません。デフォルト値はカウントフィールドに設定されています。 – Snkini

関連する問題