web-dev-qa-db-ja.com

JForm showon属性が管理サイトで機能しない

別のフィールドで選択した値に応じて表示する必要があるフォームフィールドがあります。例えば

<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ファイルをロードする必要がありますか?

1
Nagarjun

問題が何であるかを見つけました。フィールドを表示するためにgetInput関数を使用していました。

$this->form->getInput('field2'); 

しかし、showon属性は、renderField関数を使用してフィールドをレンダリングした場合にのみ機能します

$this->form->renderField('field2'); 

これが同じ問題に直面している誰かを助けることを願っています

7
Nagarjun