Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Hide/show multiple subforms based on dropdown selection

Avatar

Level 3

Hi - I am wanting to use a selection from a dropdown to hide/show 17 subforms that contain text only.I've tried if/else statements that I've used in the same way before but I'm having problems making it work this time. Is there a better way to do this when multiple subforms are required to hide/show. Thanks.

1 Accepted Solution

Avatar

Correct answer by
Level 7

What event are you triggering the action on? I have the following on the Exit event and it works.

if(this.rawValue == "Hide"){

subForm1.presence = "hidden"

}

else

if(this.rawValue == "Show"){

subForm1.presence = "visible"

}

If however you have the "Specify Item Values" button clicked on the Binding tab you will need to change the values from "Hide" to their specified value i.e. "1"

735785_pastedImage_1.png

Then you would change the code to:

if(this.rawValue == "2"){

subForm1.presence = "hidden"

}

else

if(this.rawValue == "1"){

subForm1.presence = "visible"

}

View solution in original post

2 Replies

Avatar

Correct answer by
Level 7

What event are you triggering the action on? I have the following on the Exit event and it works.

if(this.rawValue == "Hide"){

subForm1.presence = "hidden"

}

else

if(this.rawValue == "Show"){

subForm1.presence = "visible"

}

If however you have the "Specify Item Values" button clicked on the Binding tab you will need to change the values from "Hide" to their specified value i.e. "1"

735785_pastedImage_1.png

Then you would change the code to:

if(this.rawValue == "2"){

subForm1.presence = "hidden"

}

else

if(this.rawValue == "1"){

subForm1.presence = "visible"

}

Avatar

Level 1

if (this.rawValue == "Value 1" || this.rawValue == "Value 2") { //Select which options on the dropdown you want to use

  this.resolveNode("subform").presence = "hidden"; //Sets the subform "subform" to hidden

}

Alternatively use the Action Builder in the tools menu and make sure you are putting the Javascript on the "Change" event.