How to Apply Multiple Select Filter in Bubble.io Repeating Group

Allow the user to select multiple checkboxes, and show only matching events in the repeating group based on those selections.

STEP-BY-STEP GUIDE

1. Database Structure Example

Let’s say your repeating group is showing Events with these fields:

  • study_destination (type: text or option set)
  • event_type (type: text or option set, e.g., Hybrid, Virtual)
  • study_level (type: list of texts or option set)

Make sure:

  • You’re storing list fields if events can belong to multiple types or levels.

2. Create Custom States for Filters

On the Filter Popup group:

  1. Create custom states for each filter category.

  • Example:
    • selected_destinations → type: text (list)
    • selected_event_types → type: text (list)
    • selected_study_levels → type: text (list)

To do this:

  • Click the filter group > i icon (Inspector) > Custom States > Add State

3. Update States on Checkbox Click

  • Use a workflow:
    • When checkbox is changed, run conditional logic:
      • If checked → Add to the custom state list
      • If unchecked → Remove from the list

:light_bulb: Use :plus item and :minus item to modify the custom state list.


4. Set Repeating Group Filter Using “Advanced” Filter

In the repeating group’s Data source:

Search for Events:filtered

Click :filtered, then choose Advanced and write logic like:

This Event's study_destination is in [Group Filter's selected_destinations]
AND
This Event's event_type is in [Group Filter's selected_event_types]
AND
This Event's study_level intersects with [Group Filter's selected_study_levels]:count > 0

This will allow filtering based on multiple selections in each category.


5. Apply & Clear Filters

  • Apply Filters Button:
    • Simply triggers the repeating group to refresh using the current filter state.
  • Clear All Button:
    • Set all custom states back to empty lists.

Hope this helps someone facing the same issue. Suggestions for improving this approach are always welcome!
Thankyou

1 Like