Version 1 (modified by Dominic König, 8 years ago) ( diff )



Python Widget Class

The S3GroupedOptionsWidget is implemented in /modules/s3/

The instance of this class receives the widget options:

from s3.s3widgets import S3GroupedOptionsWidget

instance = S3GroupedOptionsWidget(options=None, multiple=True, size=None, cols=None, help_field=None, none=None)


optionslist of tuples [(value, label)], or as dict {value: label}the options, None to auto-detect the options from the Field during renderingNone
multiplebooleanmultiple options can be selectedTrue
sizeintegerthe maximum number of option in merged letter-groups12
colsintegerthe number of options per row3
help_fieldstring or dict {value: tooltip-string}field in the referenced table to retrieve a tooltip text for each option (for foreign keys only), or a dict of tooltips, or a callable returning such a dictNone
nonebooleanRender "None" as regular optionFalse

To render the HTML for the widget and inject the necessary JavaScript, call the widget like:

widget = instance(field, value, **attributes)


fieldFieldthe field to select options for (required)-
value the current value(s) selected (required)-
attributes HTML-attributes for the widget, e.g. "_class" or "_id"-

JQuery UI Widget

The S3GroupedOptionsWidget uses the groupedopts() widget in jquery.ui.groupedopts.js. This jQueryUI-widget-factory based widget renders a normal SELECT element as one or multiple groups of checkboxes:

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.