Gone are the days when you had to write scripts to generate a multi-select on a form in CRM. The platform now offers out of the box the MultiSelect Option Set.
You add it just like any other form field, and you define it just like any Option Set.
What you get for that is a nicely blended in control that allows selecting multiple values.
You can have a virtually unlimited number of options, with up to 150 options selected. That is quite an unreasonable long list of choices, but it’s good to know that there is a maximum cap on selection. Don’t ever try to use that many though, for obvious usability reasons.
And you can use this control on not only forms, including the main form, and the quick create and quick view forms, but you can also include this control on grids. So, if you add it to an editable grid you get the option to perform a multi-select right in the grid.
Now, that beats the old and unsupported script customization.
There is full support now for MultiSelect in the platform and client SDK, including retrieve through SDK, FetchXML, Advanced Find and Search.
Note that, there is no direct conversion of the regular Option Set to a MultiSelect Option Set, you need to re-create the field.
In addition, there is no capability at this time for any kind of wizard driven aggregation on this type of field. Polish your coding or reporting skills if you need anything of that sort.
For the developers at heart, the technical documentation is available HERE.
Have fun using it!