私はalpacajsを使用してHTMLフォームをレンダリングしています。私の要件は、チェックボックスに基づいて特定のフィールドを表示することです。私のフォームには3つのチェックボックスがあり、チェックボックスのいずれかがチェックされていればいくつかのフィールドを表示したい。複数の依存関係にフィールドをバインドして、アルパカの条件に基づいて同じフィールドを表示する方法
conditional dependenciesのアルパカのドキュメントを調べたところ、問題の原因が見つかりませんでした。私は別の名前の同じフィールドを作成することでこれを解決できますが、これはdry principleです。
私のコードは以下のようになります。
"myCheckBox1": {
"type": "boolean"
},
"myCheckBox2": {
"type": "boolean"
},
"usernameField": {
"label": "Username *",
"order": 6,
"type": "string"
"disallowOnlyEmptySpaces": true,
"showMessages": false,
"disallowEmptySpaces": true,
}
myCheckBox1またはmyCheckBox2のいずれかがチェックされている場合、usernameFieldを表示します。条件付き依存関係を表示するようにスキーマを変更しました。
"dependencies": {
"usernameField": [
"myCheckBox1"
],
"usernameField": [
"myCheckBox2"
]
}
しかし、それは唯一の条件、すなわち与えられた最後検討し、それはmyCheckBox2がチェックされ、myCheckBox1を考慮しない場合にのみusernameFieldの表示されます。私も以下のコードを試しました:
"dependencies": {
"usernameField": [
"myCheckBox1", "myCheckBox2"
]
}
しかし、それはand condition
と評価されます。さまざまな依存関係を使用して同じフィールドを表示する方法はありますか?
回答ありがとうございます。また、チェックされているチェックボックスの下にテキストボックスを表示する方法はありますか? – cutteeth
アルパカの標準では私はグループ化されたチェックボックスを使用しているので不可能だと思います。グループ化されたチェックボックスは1つのフィールドだと考えることができます。しかし、生成されたフォームをハックして、postRender関数でjqueryを使用することでこれを可能にすることができます。 – vert3x