Checkboxes Fields

Checkboxes fields give you a group of checkboxes.

Settings #

checkbox-settings.2x

Checkboxes fields have the following settings:

  • Checkbox Options – Define the checkboxes that will be available in the field. You even get to set the option values and labels separately, and choose which ones should be checked by default.

The Field #

Checkboxes fields will show each of the checkbox options as defined in the field settings:

checkbox-entry.2x

Templating #

If you only have one checkbox, and you just want to tell if it has been selected, you can do that using the length filter:

{% if entry.checkboxFieldHandle | length %}

You can loop through your selected options like so:

<ul>
    {% for option in entry.checkboxFieldHandle %}
        <li>{{ option }}</li>
    {% endfor %}
</ul>

Or you can loop through all of the available options rather than just the selected ones:

<ul>
    {% for option in entry.checkboxFieldHandle.options %}
        <li>{{ option }}</li>
    {% endfor %}
</ul>

In either case, you can output an option’s label by typing {{ option.label }} instead, and you can tell if the option is selected or not via option.selected.

You can also tell if a particular option is selected outside the scope of looping through the options like so:

{% if entry.checkboxFieldHandle.contains('tequila') %}
    <p>Really?</p>
{% endif %}

If you are including a Checkboxes field on a front-end entry from, make sure to include a hidden input before the checkboxes, so that an empty value is submitted if no checkboxes are checked.

<input type="hidden" name="fields[checkboxFieldhandle]" value="">

<ul>
    <li><input type="checkbox" name="fields[checkboxFieldHandle][]" value="foo">{{ checkboxOption.label }}</li>
    <li><input type="checkbox" name="fields[checkboxFieldHandle][]" value="bar">{{ checkboxOption.label }}</li>
</ul>