Attached is my most effective database search code. Of course you will need to match the fields and ID of the objects.
If you perform the search in ‘Enter’ or in the tab, then you will no longer need the search button. You can use it to refresh and cancel the search.
$w . onReady ( function () {
$w ( ‘#fullname’ ). onKeyPress (( event )=>{
let key = event . key ;
if ( key === “Enter” || key === “Tab” ) {
$w ( ‘#fullname’ ). blur ()
filter ()
}
} )
$w ( ‘#idnumber’ ). onKeyPress (( event )=>{
let key = event . key ;
if ( key === “Enter” || key === “Tab” ) {
$w ( ‘#idnumber’ ). blur ()
filter ()
}
} )
$w ( ‘#registration’ ). onKeyPress (( event )=>{
let key = event . key ;
if ( key === “Enter” || key === “Tab” ) {
$w ( ‘#registration’ ). blur ()
filter ()
}
} )
$w ( ‘#button’ ). onClick (( event )=>{
filter ()
//or
$w ( ‘#fullname’ ). value = null
$w ( ‘#idnumber’ ). value = null
$w ( ‘#registration’ ). value = null
$w ( “#dataset1” ). refresh ()
} )
})
let filter ;
export function filter ( ) {
filter = wixData . filter ();
if ( $w ( ‘#fullname’ ). value !== undefined && $w ( ‘#fullname’ ). value !== null && $w ( ‘#fullname’ ). value !== “” ) {
filter = filter . contains ( “fullname” , $w ( ‘#fullname’ ). value );
}
if ( $w ( ‘#idnumber’ ). value !== undefined && $w ( ‘#idnumber’ ). value !== null && $w ( ‘#idnumber’ ). value !== “” ) {
filter = filter . contains ( “idnumber” , $w ( ‘#idnumber’ ). value );
}
if ( $w ( ‘#registration’ ). value !== undefined && $w ( ‘#registration’ ). value !== null && $w ( ‘#registration’ ). value !== “” ) {
filter = filter . contains ( “registration” , $w ( ‘#registration’ ). value );
}
$w ( "#dataset1" ). setFilter ( filter );
}