Hi,
I have a field called "Cust care team" of type Select list single choice.
I want it to appear only if on previous screen, a field called "Department and Team" of type select list cascading contains value "Customer care" (1st dropdown) or "Customer Care - Customer Service" (1st and 2nd dropdown)
I know a cascading select list returns an index, but I'm having trouble getting it to work.
Using JIRA Behaviours, as a serverside script.
I previously had this:
import com.atlassian.jira.component.ComponentAccessor
def dept = getFieldByName("Department and Team") //Multi Select Field
def custcare = getFieldByName("Cust Care Team")
def deptValue = dept.getValue(); //Getting Value of Multi Select Field
if(dept.toString().contains("Customer Care - Customer Service"))
{
custcare.setHidden(false)
}else{
custcare.setHidden(true)
}
I also tried an initialiser:
cfValues['Department and Team']?.values()*.value[0].contains("Customer")
Thank you
You can achieve it easily using javascript. Please tell me whether you use both fields in the same screen or diff screens? If different, what kinda screen they are (like transition screen or ..?)
A screenshot might help.
Here we go!!
<script> if(document.getElementById("edit-issue-dialog").className == "jira-dialog box-shadow jira-dialog-open popup-width-custom jira-dialog-content-ready") { var x=document.getElementById("customfield_10406"); x=x.parentNode; x.style = "display: none;"; document.getElementById("customfield_10405").addEventListener('click',function () { if((document.getElementById("customfield_10405").value == "10303") && (document.getElementById("customfield_10405:1").value == "10305")) { x.style = "display: block;"; }else{ x.style = "display: none;"; document.getElementById("customfield_10406").value = "" } } ); document.getElementById("customfield_10405:1").addEventListener('click',function () { if((document.getElementById("customfield_10405").value == "10303") && (document.getElementById("customfield_10405:1").value == "10305")) { x.style = "display: block;"; }else{ x.style = "display: none;"; document.getElementById("customfield_10406").value = "" } } ); } </script>
It works for me!!
While choosing Customer Care- Customer Service
image2016-11-30 20:42:56.png
While choosing a different option.
image2016-11-30 20:42:14.png
Get the fieldId and valueIds from Inspect element of chrome browser easily OR via browser URL in field configuration while adding options for the "Department and Team" field. Lemme know if u face any difficulty.
Cheers!
Mahesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Thank you. First field ("Department and Team") is on create screen.
Second field "Cust care team" is in ticket, when user clicks a button, so it's a transition screen.
Let me know if that's enough or if you need the screenshots
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.