Hi,
Is it possible to do this and how?
I have two multiple checkbox fields and options as below:
Field1---
---[] a
---[] b
---[] c
Field2---
---[] 1
---[] 2
---[] 3
---[] 4
---[] 5
---[] 6
Field2 options (1,2) are related to Field1 option (a)
Field2 options (3,4) are related to Field1 option (b)
Field2 options (5,6) are related to Field1 option (c)
If I select option "a" from Field1, other than the options 1 and 2 in Field2, every other option should be hidden.
Likewise, If I select options "a" and "b" from Field1, other than options 1,2,3 and 4 every other options should be hidden.
Related options should only be enabled when a selection is made.
It can be possible with jquery or with the behaviours but i don't know how to start . can anyone help me?
Or
Is there any best way to solve this. Any way that we can add a heading to divide the options under the field.
Thanks in advance.
import com.onresolve.jira.groovy.user.FieldBehavioursimport com.onresolve.jira.groovy.user.FormFieldimport com.atlassian.jira.component.ComponentAccessordef customFieldManager = ComponentAccessor.getCustomFieldManager()def optionsManager = ComponentAccessor.getOptionsManager()// Get a pointer to my select list fielddef selectList = getFieldByName("Demo Select List")// Get a pointer to my check box fieldFormField checkBox = getFieldByName("Check Box 1")// Get access to the required custom field and options managersdef customField = customFieldManager.getCustomFieldObject(selectList.getFieldId())def config = customField.getRelevantConfig(getIssueContext())def options = optionsManager.getOptions(config)// Get the checkbox option value as a Stringdef checkBoxVal = checkBox.getValue()// Logic to do some actions depending on what check box value is selectedif (checkBoxVal == "A") { // define and set the required options when checkbox A is selected def optionsMap = options.findAll { it.value in ["A", "B"] // list of options you want to show }.collectEntries { [ (it.optionId.toString()): it.value ] } selectList.setFieldOptions(optionsMap)} else if (checkBoxVal == "B") { // define and set the required options when checkbox A is selected def optionsMap = options.findAll { it.value in ["C", "D", "E"] // list of options you want to show }.collectEntries { [ (it.optionId.toString()): it.value ] } selectList.setFieldOptions(optionsMap)}As a workaround you can have field 1 and three(one for each option of field 1) other multiple checkbox fields which will be displayed if values a, b and c are selected respectively.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the response.
Well thats a good Idea.
Field1 is having only 3 options in the scene I explained above.
I am working on the checkbox field which has 61 options. So I was trying to use only two fields instead of having individual fields for each option.
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.