Hi. I would like to create search filter like below. I start with insert data in content manager. But now pending what i should do now for the next step. Really appreciate for help to guide
Before enter in box
After
Hi. I would like to create search filter like below. I start with insert data in content manager. But now pending what i should do now for the next step. Really appreciate for help to guide
Before enter in box
After
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 );
}
Hi Sir @AV digital
Thanks for your response . i try to match the field and id but i get this error at this part. But how to make the result show in box?
let filter;
export function filter() {
filter = wixData.filter();
if ($w(‘#ifullname’).value !== undefined && $w(‘#ifullname’).value !== null && $w(‘#ifullname’).value !== “”) {
filter = filter.contains(“ifullname”, $w(‘#ifullname’).value);
}
if ($w(‘#icompetent’).value !== undefined && $w(‘#icompetent’).value !== null && $w(‘#icompetent’).value !== “”) {
filter = filter.contains(“icompetent”, $w(‘#icompetent’).value);
}
if ($w(‘#ilocation’).value !== undefined && $w(‘#ilocation’).value !== null && $w(‘#ilocation’).value !== “”) {
filter = filter.contains(“ilocation”, $w(‘#ilocation’).value);
}
$w("#dataset1").setFilter(filter);
Please copy here all the code on the page from the beginning of the page.
By the way, note that you have to decide what the function of the button or search or refresh now leaving the two options it of course creates a collision
$ w (‘# button’). onClick ((event) => {
filter ()
// or
$ w (‘# fullname’). value = null
$ w (‘# idnumber’). value = null
$ w (‘# registration’). value = null
$ w (“# dataset1”). refresh ()
})
Yes @av-promotional . i decide just search in enter but how to show the result in box like below
$w.onReady(function () {
$w(‘#ifullname’).onKeyPress((event)=>{
let key = event.key;
if (key === “Enter” || key === “Tab”) {
$w(‘#ifullname’).blur()
filter()
}
} )
$w(‘#icompetent’).onKeyPress((event)=>{
let key = event.key;
if (key === “Enter” || key === “Tab”) {
$w(‘#icompetent’).blur()
filter()
}
} )
$w(‘#ilocation’).onKeyPress((event)=>{
let key = event.key;
if (key === “Enter” || key === “Tab”) {
$w(‘#ilocation’).blur()
filter()
}
} )
$w(‘#ifullname’).value = null
$w(‘#icompetent’).value = null
$w(‘#ilocation’).value = null
$w(“#dataset1”).refresh()
} )
})
let filter;
export function filter() {
filter = wixData.filter();
if ($w(‘#ifullname’).value !== undefined && $w(‘#ifullname’).value !== null && $w(‘#ifullname’).value !== “”) {
filter = filter.contains(“ifullname”, $w(‘#ifullname’).value);
}
if ($w(‘#icompetent’).value !== undefined && $w(‘#icompetent’).value !== null && $w(‘#icompetent’).value !== “”) {
filter = filter.contains(“icompetent”, $w(‘#icompetent’).value);
}
if ($w(‘#ilocation’).value !== undefined && $w(‘#ilocation’).value !== null && $w(‘#ilocation’).value !== “”) {
filter = filter.contains(“ilocation”, $w(‘#ilocation’).value);
}
$w("#dataset1").setFilter(filter);
}
import wixData from ‘wix-data’;
export function button1_click(event) {
wixData.query(“data”).eq(“id”, $w(“#input1”).value).find()
.then((result)=>{
$w(“#text1”).text = result.items[0].results;
});
}
import wixData from ‘wix-data’;
export function button58_click(event) {
wixData.query(“competentperson”).eq(“ifullname”, $w(“#input1”).value).find()
.then((result)=>{
$w(“#text1”).text = result.items[0].results;
});
}
import wixData from ‘wix-data’ ;
$w . onReady ( function () {
$w ( '#ifullname' ). onKeyPress (( event ) => {
**let** key = event . key ;
**if** ( key === "Enter" || key === "Tab" ) {
$w ( '#ifullname' ). blur ()
filter ()
}
})
$w ( '#icompetent' ). onKeyPress (( event ) => {
**let** key = event . key ;
**if** ( key === "Enter" || key === "Tab" ) {
$w ( '#icompetent' ). blur ()
filter ()
}
})
$w ( '#ilocation' ). onKeyPress (( event ) => {
**let** key = event . key ;
**if** ( key === "Enter" || key === "Tab" ) {
$w ( '#ilocation' ). blur ()
filter ()
}
})
})
let filter1 ;
export function filter ( ) {
filter1 = wixData . filter ();
**if** ( $w ( '#ifullname' ). value !== **undefined** && $w ( '#ifullname' ). value !== **null** && $w ( '#ifullname' ). value !== "" ) {
filter1 = filter1 . contains ( "ifullname" , $w ( '#ifullname' ). value );
}
**if** ( $w ( '#icompetent' ). value !== **undefined** && $w ( '#icompetent' ). value !== **null** && $w ( '#icompetent' ). value !== "" ) {
filter1 = filter1 . contains ( "icompetent" , $w ( '#icompetent' ). value );
}
**if** ( $w ( '#ilocation' ). value !== **undefined** && $w ( '#ilocation' ). value !== **null** && $w ( '#ilocation' ). value !== "" ) {
filter1 = filter1 . contains ( "ilocation" , $w ( '#ilocation' ). value );
}
$w ( "#dataset1" ). setFilter ( filter1 );
}
export function button1_click ( event ) {
wixData . query ( "data" ). eq ( "id" , $w ( "#input1" ). value ). find ()
. then (( result ) => {
$w ( "#text1" ). text = result . items [ 0 ]. results ;
});
}
export function button58_click ( event ) {
wixData . query ( "competentperson" ). eq ( "ifullname" , $w ( "#input1" ). value ). find ()
. then (( result ) => {
$w ( "#text1" ). text = result . items [ 0 ]. results ;
});
}
sorry2 @av-promotional . Suppose this full coding. I decide choose search in “Enter”.
Here database i create in content manager
$w.onReady(function () {
$w(‘#ifullname’).onKeyPress((event)=>{
let key = event.key;
if (key === “Enter” || key === “Tab”) {
$w(‘#ifullname’).blur()
filter()
}
} )
$w(‘#icompetent’).onKeyPress((event)=>{
let key = event.key;
if (key === “Enter” || key === “Tab”) {
$w(‘#icompetent’).blur()
filter()
}
} )
$w(‘#ilocation’).onKeyPress((event)=>{
let key = event.key;
if (key === “Enter” || key === “Tab”) {
$w(‘#ilocation’).blur()
filter()
}
} )
$w(‘#ifullname’).value = null
$w(‘#icompetent’).value = null
$w(‘#ilocation’).value = null
$w(“#dataset1”).refresh()
} )
})
let filter;
export function filter() {
filter = wixData.filter();
if ($w(‘#ifullname’).value !== undefined && $w(‘#ifullname’).value !== null && $w(‘#ifullname’).value !== “”) {
filter = filter.contains(“ifullname”, $w(‘#ifullname’).value);
}
if ($w(‘#icompetent’).value !== undefined && $w(‘#icompetent’).value !== null && $w(‘#icompetent’).value !== “”) {
filter = filter.contains(“icompetent”, $w(‘#icompetent’).value);
}
if ($w(‘#ilocation’).value !== undefined && $w(‘#ilocation’).value !== null && $w(‘#ilocation’).value !== “”) {
filter = filter.contains(“ilocation”, $w(‘#ilocation’).value);
}
$w("#dataset1").setFilter(filter);
}
can help please @av-promotional