Skip to main content
Participant
October 2, 2024
Answered

Change visibility of fields based on dropdown list selection

  • October 2, 2024
  • 1 reply
  • 1147 views

I have a pdf for use as a checklist for reviews. I opted to combine 3 different checklists, as many of the fields are the same between them. I'm trying to use a dropdown list to select the type of review the checklist is for, and when making the selection line items on the checklist will be covered with a black box if they don't apply. I have used the following code to successfully do this on a limited scale:

 this.getField("Black2.5").display = event.value == "New" ? display.visible : display.hidden;

But, this doesn't work anymore when I add the second review type to also cover that line item:

 this.getField("Black2.5").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black2.5").display = event.value == "Revision" ? display.visible : display.hidden;

Additionally, the third review option covers most items (not the one in the example above), and a majority of those don't work, even if I only put in the code for that option. For the other two options, just putting in the code for them individually works fine.

 

So, how can I write this so that it will work despite the option I choose?

This topic has been closed for replies.
Correct answer Bernd Alheit

Try this:

var disp = display.hidden;
if (event.value == "New" || event.value == "Revision") disp = display.visible;
this.getField("Black2.5").display = disp;

1 reply

Bernd Alheit
Community Expert
Bernd AlheitCommunity ExpertCorrect answer
Community Expert
October 2, 2024

Try this:

var disp = display.hidden;
if (event.value == "New" || event.value == "Revision") disp = display.visible;
this.getField("Black2.5").display = disp;
Participant
October 2, 2024

Thanks for the prompt reply. I've taken what you have above and was able to expand upon it to make everything work for the New or Revision choices. However, my third choice, PRN, will not display anything that should be visible for only PRN. Here's my full script:

var disp = display.hidden;
if (event.value == "New" || event.value == "Revision") disp = display.visible; {
  this.getField("Black2.5").display = disp;
  this.getField("Black7.5").display = disp;
  this.getField("Black8.1").display = disp;
}
 this.getField("Black4.1").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.2").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.3").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.4").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.5").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.6").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.7").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.8").display = event.value == "New" ? display.visible : display.hidden;
 this.getField("Black4.9").display = event.value == "New" ? display.visible : display.hidden;

if (event.value == "Revision" || event.value == "PRN") disp = display.visible; {
 this.getField("Black1.5").display = disp;
 this.getField("Black1.6").display = disp;
 this.getField("Black8.6").display = disp;
 this.getField("Black8.12").display = disp;
}

 this.getField("Black1.10").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.6").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.7").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.8").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.9").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.10").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.11").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black2.13").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black3.1").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black3.2").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black3.3").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black4.5").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black4.6").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black4.7").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black4.8").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black4.9").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black5.1").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black5.2").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black5.5").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black5.6").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.1").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.2").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.3").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.4").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.5").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.6").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.7").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.8").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.9").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.10").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.11").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.12").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.13").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.14").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.15").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.16").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.17").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.18").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.19").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.20").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.21").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black6.22").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black7.1").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black7.2").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black7.3").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black7.4").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black8.4").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black8.5").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black8.7").display = event.value == "PRN" ? display.visible : display.hidden;
 this.getField("Black8.10").display = event.value == "PRN" ? display.visible : display.hidden;

 How cany I make this work when selecting PRN? 

try67
Community Expert
Community Expert
October 2, 2024

You should not use the same variable for the two sections of your code. If the first condition is true but the second isn't, those fields will still be made visible.

The last section seems fine, although it can be greatly simplified. If it's not working check the JS Console for error messages.