Forum Academy Marketplace Showcase Pricing Features

Filter repeating group by tags using checkboxes

Hello bubblers,

I’m trying to filter a repeating group which contains a list of events for a set week using a group of checkboxes which have the names of tags on them. I want the repeating group to only show the events which tags contain all of the selected tags, not just events containing either of the tags selected. [So the search is narrowed] But the issue I’m having is that I can filter the repeating group if one tag is selected, and it shows any events with that tag, but when another tag is checked, it goes to showing all events. I’ve tried multiple different ways of refining this but none work, they usually just show nothing after a second tag is checked. Below are some images of the setup.

Design view

Use of checkboxes

Conditional on the repeating group displaying the events

More information can be provided if needed. If anyone has any suggestions that would me much appreciated!

Hi, I can’t fully follow what you’ve set up, but this can be done much more simply.

For your Tag checkbox list, if you haven’t done so already, set up a custom state to hold the selected Tags. (I’ll call this custom state “Selected Tags” in the below instructions). When the user checks/unchecks tags, have a workflow add and delete the tags from the Selected Tags custom state.

In your repeating group of Events, have the “Data source” box say:
Search for Events: filtered

In the “Search for Events” part of the expression, write all of your non-tag search constraints. You’ll want to keep as many search constraints in the regular “Search for Events” part as possible.

However the list-to-list Tag search has to be done via an advanced filter. So, in the “:filtered” addendum, select advanced filter and write the expression as “This Event’s Tags contains list Selected Tags”

The above should return any Event that has Tags that exactly match what is in Selected Tags.

(Note that if you want to return Events that have at least 1 Tag that is selected, rather than all that are selected, then write the advanced filter as “This Event’s Tags intersect with Selected Tags: count>0”)

1 Like

I used your method and it worked! Much simpler too. Thank you so much for the help.

1 Like