Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal

Recognition

  • Give kudos
  • Received
  • Given

Leaderboard

  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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>

2 answers

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

After the adding the above script, the width of the single select custom field decreased. Is there a way to increase the width of the single select custom field ?

Suggest an answer

Log in or Sign up to answer
TAGS

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you