Show Custom Field if value from another Field is selected

Hi,

On Issue creation, I have a Cascading Select custom field that has a set of Values.

I am trying to run a script where if the 1st drop down has "Paypal" selected, another customfield called "PayPal Payee" should be shown.

If "Paypal" is not selected, the field should remain hiddem

After I created the script below, when selecting "Paypal", the fields still remains hidden

I cannot understand what I am doing wrong. 

Can someone please help me solve this issue?

script.PNG

1 answer

1 accepted

0 vote
Joshua Yamdogo Community Champion Aug 25, 2017

Hi Jason,

When creating a behaviour, the behaviour should be attached to the field that you want to track or check values from. In your case, you should put this behaviour on the Cascading Select custom field.

Your script isn't far off, but there's some things you need to change. First, Cascading Select Lists return a list of values whenever you call getValue() on the field. Example: ['Parent Option', 'Child Option']

So if you want to check the first dropdown, you'll need to access the first value of the list.

def cascadingField = getFieldById(getFieldChanged())
def cascadingValues = cascadingField.getValue()

def PaypalPayee = getFieldById("customfield_11906")
PaypalPayee.setHidden(true)

if (cascadingValues[0] == "Paypal") {
PaypalPayee.setHidden(false)
}

HI Joshua,

I did use the explenation above but now i have this error

code.PNGerror.PNG

Joshua Yamdogo Community Champion Aug 31, 2017

Jason,

The static type checker is not always accurate. The behaviour should work regardless of the error. Try to use it. It worked for me.

Hi Joshua,

Unfortunately, it's not working.

When I open the create issue screen, "Paypal Payee Name" is still shown even if payment type has "None" selected.

create screen.PNG

I would like this to show only if "Paypal" is selected.

Any other ways I could achieve this? 

Thanks,
Jason

Joshua Yamdogo Community Champion Sep 01, 2017

Jason,

It looks like you changed the script that I gave you? You have this in your screenshot:

if (PaymentType[0] == "Paypal")

when it should be this

if (cascadingValues[0] == "Paypal")

That's probably why you're getting that static type checking error, because you're trying to access an index of the object instead of the object's values.

I did exactly the above and works like a charm!

Thank you!

-Jason

Joshua Yamdogo Community Champion Sep 04, 2017

Glad to hear Jason! :)

If you wouldn't mind, please accept my answer as the accepted answer so that others in the community can see the answer more easily.

Suggest an answer

Log in or Join to answer
Community showcase
Emilee Spencer
Published Friday in Marketplace Apps

Marketplace Spotlight: DeepAffects

Hello Atlassian Community! My name is Emilee, and I’m a Product Marketing Manager for the Marketplace team. Starting with this post, I'm kicking off a monthly series of Spotlights to highlight Ma...

51 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot