別のフィールドで選択した値に応じて表示する必要があるフォームフィールドがあります。例えば
<field name="field1" type="list" label="LABEL1" description="DESC1" filter="intval" size="1" default="0" class="form-control">
<option value="0">Option 0</option>
<option value="1">Option 1</option>
</field>
<field name="field2" showon="field1:1" type="list" label="LABEL2" description="DESC2" filter="intval" size="1" default="0" class="form-control">
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</field>
上記のコードでは、field2は、field1の値が1の場合にのみ表示されます。これは、フロントエンドフォームから正常に機能します。ただし、同じフォームが私の管理コンポーネントでは機能しません。これを機能させるには、特別なJavaScriptファイルをロードする必要がありますか?
問題が何であるかを見つけました。フィールドを表示するためにgetInput関数を使用していました。
$this->form->getInput('field2');
しかし、showon属性は、renderField関数を使用してフィールドをレンダリングした場合にのみ機能します
$this->form->renderField('field2');
これが同じ問題に直面している誰かを助けることを願っています