I followed this tutorial (which was great) about how to filter your repeater from a user input searchbar. https://www.youtube.com/watch?v=Hx7_8-lRsW0
I want to filter my database in the same way but allow the user to search through multiple fields from typing in the search bar, not just one. I basically added lines of code but it only searches my database for the first field (country). I’ve tried multiple ways and it isn’t working. How do i fix my code?
Thank you!!
let debounceTimer;
export function input1_keyPress(event, $w) {
if (debounceTimer) {
clearTimeout(debounceTimer);
debounceTimer = undefined;
}
debounceTimer = setTimeout(() => {
filter($w('#input1').value);
}, 200);
}
let lastFilterTitle;
function filter(input1){
if (lastFilterTitle !== input1) {
$w('#dataset1'). setFilter(wixData.filter().contains("country", input1)); $w('#dataset1'). setFilter(wixData.filter().contains("region", input1));
$w('#dataset1'). setFilter(wixData.filter().contains("projectType", input1));
$w('#dataset1'). setFilter(wixData.filter().contains("activitiesForFilter", input1));
$w('#dataset1'). setFilter(wixData.filter().contains("detailedPurpose", input1));
lastFilterTitle = input1;
}
}
OR
let lastFilterTitle;
function filter(input1){
if (lastFilterTitle !== input1) {
$w('#dataset1'). setFilter(wixData.filter()
.contains("country","region", "title", "projectPurpose", "detailedPurpose", input1));
lastFilterTitle = input1;
}
}
OR
let lastFilterTitle;
function filter(input1){
if (lastFilterTitle !== input1) {
$w('#dataset1'). setFilter(wixData.filter()
.contains("country", input1)
.contains("region", input1)
.contains("title", input1)
.contains("projectPurpose", input1)
.contains("detailedPurpose", input1));
lastFilterTitle = input1;
}
}