Single-Select Field Behave like Component/Versions with AJS

Hi,

I know a lot of people have asked in the past about multi-select field behaving like components/versions, but is it possible to get a single-select to behave like that as well?

When i try to edit the code, i have problems with it sticking or it will create duplicate fields

Multi-select solutions can be found:

https://answers.atlassian.com/questions/43534/can-i-have-multi-select-custom-field-behave-like-components-versions-fields

https://answers.atlassian.com/questions/62117/multiselect-fields-behaving-like-component-field-by-using-js-revisited?page=1#comment-65413

CK1's post:

<script type="text/javascript">
(function($) {
// "customfield_10400" is the number of the custom
// multiselect field you want to change as e.g.
// seen at the end of the "configure" page url of
// the field you want to change this way
AJS.$("#customfield_10400 option[value='-1']").remove(); //Removes the default value "None"
function convertMulti(id){
if (AJS.$('#'+id+"-textarea").length == 0){
new AJS.MultiSelect({
element: $("#"+id),
itemAttrDisplayed: "label",
errorMessage: AJS.params.multiselectComponentsError
});
}
}
AJS.toInit(function(){
convertMulti("customfield_10400");
})
JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function (e, context) {
AJS.$("#customfield_10400 option[value='-1']").remove();
convertMulti("customfield_10400");
});
})(AJS.$);
</script>

1 answer

Actually the code on

https://answers.atlassian.com/questions/43534

worked fine for my single-select list to behave like component/version (multiple choices possible).

If you have a single-select list and want it to behave like Priority (single choice) you can use AJS.SingleSelect instead of AJS.MultiSelect. Like:

<script type="text/javascript">
(function($){
    new AJS.SingleSelect({
        element: $("#customfield_10052"),
        itemAttrDisplayed: "label",
        errorMessage: AJS.params.multiselectComponentsError
    });
})(AJS.$);
</script>

 

You try this case: Multi-Select > Single-Select

<script type="text/javascript">
(function($) {
AJS.$("#customfield_10159 option[value='-1']").remove();
function convertMulti(id){
if (AJS.$('#'+id+"-field").length == 0){
new AJS.SingleSelect({
element: $("#"+id),
itemAttrDisplayed: "label",
errorMessage: AJS.params.multiselectComponentsError
});
}
}

AJS.toInit(function(){
convertMulti("customfield_10159");
})

JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function (e, context) {
AJS.$("#customfield_10159 option[value='-1']").remove();
convertMulti("customfield_10159");
});
})(AJS.$);
</script>

 

I have options in the select drop down list which start with the following (which for whatever seems to limit my ability to search using this code). Tried it out on another drop down list and it worked perfectly. Any ideas? 

 

A.1.a - Commercial

A.1.b - UW

A.1.c  - PEAK

A.2.a - Test

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Sep 18, 2018 in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

24,820 views 2 7
Join discussion

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