Champ de formulaire «showon» avec plusieurs champs


10

J'ai 3 champs définis dans mon fichier XML comme ceci:

<field name="field1" type="radio" label="Field 1" class="btn-group" default="1">
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

<field name="field2" type="radio" label="Field 2" class="btn-group" default="1">
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

<field name="field3" type="radio" label="Field 3" class="btn-group" default="1">
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

Maintenant, ce que j'aimerais faire, c'est seulement montrer field3 si field1 et field2 sont réglés sur 1.

Réponses:


15

Vous pouvez enchaîner les valeurs d'attribut de showon, en utilisant [AND], comme ceci:

showon="field1:1[AND]field2:1"

L'ajout de champs supplémentaires à la chaîne est également autorisé.

En passant, vous pouvez également utiliser une [OR]clause dans la chaîne, ajoutant plus de complexité, par exemple:

showon="field1:1[AND]field2:1[OR]fieldX:1"

Mise à jour pour Joomla 3.7:

À partir de Joomla 3.7, vous pourrez utiliser l' !opérateur (différent de):

showon="field1!:1"

Cela signifie, si field1n'est pas égal à 1


Existe-t-il une option différente de showon?
CoalaWeb

@CoalaWeb - C'est ce qu'il fait déjà. field1:1signifiefield1 == 1
Lodder

Je recherche une option! = Pour les listes de sélection grandes / dynamiques qui n'ont qu'une seule option qui masquerait un autre champ de formulaire plutôt qu'une grande liste séparée par des virgules. D'après mes recherches, il ne semble pas que cela existe, je pourrais examiner une demande de pull, Cheers.
CoalaWeb

pouvez-vous utiliser !emptyou !:*?
Eoin

1
Apparemment, vous pouvez utiliser showon="foo!:"Je n'ai pas encore testé. Voir ici: joomla.stackexchange.com/questions/21022/form-field-showonempty
Eoin
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.