Add support for a multiselection dropdown box as a custom field in a ticket


This is a plugin allowing custom fields in tickets with multiple selection mode. Predefined values must be defined for each field, from which multiple values can be selected by the user.

The data is saved as a normal custom text field with the values separated by a single space. This way the normal Trac user interface will show the values in a sensible way too. Any spaces in the options are converted to '_' by default when saving the data.

For example this will add a new field supporting multiple selection called 'environment' with some predefined values:

environment = text
environment.format = list
environment.label = Environment
environment.multiselect = true
environment.options = Android|iPhone|iPad|Windows|Linux|MacOs
environment.order = 2

Note: Adding new selection choices is always fine. However, be careful when changing the existing options of a field when there is existing data with the old options. When you view a ticket the ui will only show currently valid options. Any old options will be cleared when the ticket is modified and the field in question has been changed.

The selection component itself uses to implement multiple selection in a more user friendly way.

Bugs/Feature Requests

Existing bugs and feature requests are here.

If you have any issues, create a new ticket.


6 / 6


Download the zipped source from here.


Check out MultiSelectFieldPlugin from here using Subversion or easy_install etc., or browse the source with Trac.


General instructions on installing Trac plugins can be found on the TracPlugins page.


The default configuration should be fine for most people, but if you need to change how the data is saved you can add these options under [multiselectfield] in conf/trac.ini:

Instead of the more advanced "chosen" selection box, use a standard html multiselection box. Default value: false.
The delimiter that is used when storing the data (as the selected options are appended to a single custom text field). Space is used by default as values separated by space will be recognized by the custom text field in list mode as separate values. Note: changing this option when there is already data saved with other options value may lead to unpredictable behavior. Default value: ' '.
Defined whether whitespace in the names of the predefined selectable values is removed before saving the data (whitespace will be converted to underscores). This should be enabled when using white space as data delimiter. Note: changing this option when there is already data saved with other options value may lead to unpredictable behavior. Default value: true.

Recent Changes

16716 by rjollos on 2017-07-18 22:07:42
TracMultiSelectField 1.0.2: Tidy up codebase

Refs #13244.

16625 by rjollos on 2017-05-27 07:54:27
TracMultiSelectField 1.0.2dev: Upgrade chosen.js to 1.7

Fix attempt to split an empty value.

Fixes #13047.

15007 by ollika on 2015-11-01 14:30:48
Added an option to use standard html selection box


Author: ollika (
Maintainer: Olli Kallioinen

Last modified 9 months ago Last modified on Oct 14, 2016, 6:48:32 PM

Attachments (2)

Download all attachments as: .zip