Can anyone help me and tell me where I’m going wrong as it’s driving me nuts!! I’m setting up three filters to search my database and return the results in a gallery but I’m getting the same error on each part of the filter. In this instance it says membersname not defined.
Be v grateful!
Thanks.
When you are assigning the variable, just change it to MembersName. You defined it as Membersname with a small “n”.
Thank you so much.
I’ve resolved it all and when I run it I get no errors and the clear button works.
However the gallery of images attached to it doesn’t change so although the filters are working (as in I can make the selections) they are not relaying to the gallery that I want filtered.
Do I need to alter anything in the dataset settings (which is called IGDataset), in the dataset properties, the gallery (called gallery1) or is it the code somewhere? Again thanks for your help.
import wixData from 'wix-data';
$w.onReady(() => {
$w('#IGDataset').onReady(() => {
var filter1 = wixData.filter()
filter1.filterTree.$and[0] = {}
filter1.filterTree.$and[1] = {}
filter1.filterTree.$and[2] = {}
filter1.filterTree.$and[3] = {}
$w('#MembersName').onChange(() => {
let MembersName = $w('#MembersName').value;
if (MembersName === 'MembersName') {
filter1.filterTree.$and[0] = {}
} else {
filter1.filterTree.$and[0] = {
'MembersName': MembersName
}
}
})
$w('#Battlefield').onChange(() => {
let Battlefield = $w('#Battlefield').value;
if (Battlefield === 'Battlefield') {
filter1.filterTree.$and[1] = {}
} else {
filter1.filterTree.$and[1] = {
'Battlefield': Battlefield
}
}
})
$w('#Countrylocation').onChange(() => {
let Countrylocation = $w('#Countrylocation').value;
if (Countrylocation === 'Countrylocation') {
filter1.filterTree.$and[2] = {}
} else {
filter1.filterTree.$and[2] = {
'Countrylocation': Countrylocation
}
}
})
$w('#Category').onChange(() => {
let Category = $w('#Category').value;
if (Category === 'Category') {
filter1.filterTree.$and[3] = {}
} else {
filter1.filterTree.$and[3] = {
'Category': Category
}
}
})
$w('#Search').onClick(() => {
filter();
})
$w('#Clear').onClick(() => {
$w('#MembersName').value = ""
$w('#Battlefield').value = ""
$w('#Category').value = ''
$w('#Countrylocation').value = ''
filter1.filterTree.$and[0] = {}
filter1.filterTree.$and[1] = {}
filter1.filterTree.$and[2] = {}
filter1.filterTree.$and[3] = {}
$w('#IGDataset').setFilter();
})
function filter() {
console.log(filter1.filterTree.$and)
$w('#IGDataset').setFilter(filter1)
}
})
})
if (membersName===); should be membersname