In JIRA, we can create Select List (multiple choices), but what if there are more than 30 or 50 choices. It becomes difficult for end-user to press ctrl, scroll and click the choices.

https://milanchheda.com/uploads/mutliselect_field.PNG
In such situations, it's better to have auto-complete renderer.

https://milanchheda.com/uploads/autocomplete_renderer_on_multiselect.png

This can be done by adding JavaScript to the custom field's description. Though its a hacky-way or rather not the recommended way, it solves the problem:

  1. Go to Administration > Issues > Custom Fields
  2. Create a Custom Field of type "Select List (multiple choices)".
  3. Click on the 'cog' icon on the right side of the newly-created custom field and click Edit
  4. Add the below code to the Description field and click Update
<script type="text/javascript">
(function($) {
    AJS.$("#customfield_<cf-id> option[value='-1']").remove();
    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_<cf-id>");
    })

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


Note: Replace <cf-id> with the ID of the custom field you're modifying. You can get this information by running the below query on JIRA's database. For example, if the ID is 10100, you'll have to change customfield_<cf-id> to customfield_10100.


Voila! And we have our Select List (multiple choice) being rendered as auto-complete with list.