Ok, I think I understood. What you want is to get the value of the selected repeater so you can filter the products repeater, right?
For that you could loop through the filter repeater trying to find which checkbox is true, like so:
import wixData from 'wix-data'
let selectedBrandFilter = []
let selectedTypeFilter = []
let selectedStoreFilter = []
let brandFilter = wixData.filter().hasSome('brand', selectedBrandFilter)
let typeFilter = wixData.filter().hasSome('type', selectedTypeFilter)
let storeFilter = wixData.filter().hasSome('store', selectedStoreFilter)
const addFilter = (array, value) => array.push(value)
const removeFilter = (array, value) => {
const newFilter = array.filter(item => item !== value)
array = newFilter
}
$w.onReady(() => {
$w('#repeaterFilter').forEachItem(($item) => {
$item('#checkboxBrand').onChange((e) => {
e.target.checked ? addFilter(selectedBrandFilter, e.target.value) : removeFilter(selectedBrandFilter, e.target.value)
})
$item('#checkboxStore').onChange((e) => {
e.target.checked ? addFilter(selectedBrandFilter, e.target.value) : removeFilter(selectedBrandFilter, e.target.value)
})
$item('#checkboxType').onChange((e) => {
e.target.checked ? addFilter(selectedBrandFilter, e.target.value) : removeFilter(selectedBrandFilter, e.target.value)
})
})
$w('#dataset').setFilter(brandFilter.or(typeFilter).or(storeFilter))
})
You are going to have to create one for each filter you need.
Haven’t tested this, but if it works, then we can try to fix the price filter.