Multi select
Contents
<div class="govuk-form-group govuk-!-margin-bottom-3">
<fieldset class="govuk-fieldset" aria-label="filters.multiselect checkboxes">
<legend class="govuk-fieldset__legend govuk-label govuk-!-font-weight-bold">
Multi-select
</legend>
<div class="govuk-checkboxes govuk-checkboxes--small dpr-multi-select" display-name="Multi-select" data-module="govuk-checkboxes">
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect" name="filters.multiselect" type="checkbox" value="value1">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect">
Value 1
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-2" name="filters.multiselect" type="checkbox" value="value2" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-2">
Value 2
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-3" name="filters.multiselect" type="checkbox" value="value3" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-3">
Value 3
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-4" name="filters.multiselect" type="checkbox" value="value4">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-4">
Value 4
</label>
</div>
</div>
</fieldset>
</div>
{% from "dpr/components/_inputs/multi-select/view.njk" import dprMultiSelect %}
{{ dprMultiSelect({
text: "Multi-select",
name: "multiselect",
type: "multiselect",
value: "value2,value3",
options: [
{ value: "value1", text: "Value 1" },
{ value: "value2", text: "Value 2" },
{ value: "value3", text: "Value 3" },
{ value: "value4", text: "Value 4" }
],
values: [ "value2", "value3" ]
}) }}
Overview
The DPR multiselect component is composite of the GOV design system checkbox component.
When to use
Use the multiselect component when you need to help users:
- select multiple options from a list
- toggle a single option on or off
When not to use
Do not use the checkboxes component if users can only choose one option from a selection. In this case, use the Radios component.
How to use
Default
Contents
<div class="govuk-form-group govuk-!-margin-bottom-3">
<fieldset class="govuk-fieldset" aria-label="filters.multiselect checkboxes">
<legend class="govuk-fieldset__legend govuk-label govuk-!-font-weight-bold">
Multi-select
</legend>
<div class="govuk-checkboxes govuk-checkboxes--small dpr-multi-select" display-name="Multi-select" data-module="govuk-checkboxes">
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect" name="filters.multiselect" type="checkbox" value="value1">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect">
Value 1
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-2" name="filters.multiselect" type="checkbox" value="value2" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-2">
Value 2
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-3" name="filters.multiselect" type="checkbox" value="value3" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-3">
Value 3
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-4" name="filters.multiselect" type="checkbox" value="value4">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-4">
Value 4
</label>
</div>
</div>
</fieldset>
</div>
{% from "dpr/components/_inputs/multi-select/view.njk" import dprMultiSelect %}
{{ dprMultiSelect({
text: "Multi-select",
name: "multiselect",
type: "multiselect",
value: "value2,value3",
options: [
{ value: "value1", text: "Value 1" },
{ value: "value2", text: "Value 2" },
{ value: "value3", text: "Value 3" },
{ value: "value4", text: "Value 4" }
],
values: [ "value2", "value3" ]
}) }}
Long list of select options
When a lost list of select options is provided to the component, the multiselect container with show a sub-section of list items and provide a scroll bar to reveal the remaining options
Contents
<div class="govuk-form-group govuk-!-margin-bottom-3">
<fieldset class="govuk-fieldset" aria-label="filters.multiselect checkboxes">
<legend class="govuk-fieldset__legend govuk-label govuk-!-font-weight-bold">
Multi-select
</legend>
<div class="govuk-checkboxes govuk-checkboxes--small dpr-multi-select dpr-multi-select-scroll" display-name="Multi-select" data-module="govuk-checkboxes">
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect" name="filters.multiselect" type="checkbox" value="value1">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect">
Value 1
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-2" name="filters.multiselect" type="checkbox" value="value2">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-2">
Value 2
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-3" name="filters.multiselect" type="checkbox" value="value3" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-3">
Value 3
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-4" name="filters.multiselect" type="checkbox" value="value4">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-4">
Value 4
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-5" name="filters.multiselect" type="checkbox" value="value5">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-5">
Value 5
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-6" name="filters.multiselect" type="checkbox" value="value6">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-6">
Value 6
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-7" name="filters.multiselect" type="checkbox" value="value7">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-7">
Value 7
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-8" name="filters.multiselect" type="checkbox" value="value8" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-8">
Value 8
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-9" name="filters.multiselect" type="checkbox" value="value9">
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-9">
Value 9
</label>
</div>
<div class="govuk-checkboxes__item">
<input class="govuk-checkboxes__input" id="filters.multiselect-10" name="filters.multiselect" type="checkbox" value="value10" checked>
<label class="govuk-label govuk-checkboxes__label" for="filters.multiselect-10">
Value 10
</label>
</div>
</div>
</fieldset>
</div>
{% from "dpr/components/_inputs/multi-select/view.njk" import dprMultiSelect %}
{{ dprMultiSelect({
text: "Multi-select",
name: "multiselect",
type: "multiselect",
value: "value3,value8,value10",
options: [
{ value: "value1", text: "Value 1" },
{ value: "value2", text: "Value 2" },
{ value: "value3", text: "Value 3" },
{ value: "value4", text: "Value 4" },
{ value: "value5", text: "Value 5" },
{ value: "value6", text: "Value 6" },
{ value: "value7", text: "Value 7" },
{ value: "value8", text: "Value 8" },
{ value: "value9", text: "Value 9" },
{ value: "value10", text: "Value 10" }
],
values: [ "value3", "value8", "value10" ]
}) }}