Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

134
Views
Palabras clave de la barra de búsqueda de JS

¿Cómo puedo agregar palabras clave a los productos en mi barra de búsqueda? por ejemplo, si quiero encontrar "BRIT PREMIUM BY NATURE ADULT L PUI 15KG", me gustaría simplemente escribir "BRIT ADULT L PUI 15KG" y aún encontrar el producto, aquí está el código que uso:

 SearchBx.onkeyup = (e)=>{ console.log(e); let userData = e.target.value; let emptyArray = []; if(userData){ emptyArray = suggestions.filter((data)=>{ return data.toLocaleLowerCase().includes(userData.toLocaleLowerCase()); }); emptyArray = emptyArray.map((data)=>{ return data = '<li>'+ data + '</li>'; }); console.log(emptyArray); Main.classList.add("show"); }else{ } showSuggestions(emptyArray); let allList = AutoBox.querySelectorAll("li"); // for (let i = 0; i < allList.length; i++) { // allList[i].setAttribute("onclick", "select(this)"); // } for(const el of allList){ // use for..of instead of indexed for el.addEventListener('click', (e) => { // attach an event listener instead of using the onclick attribute SearchBx.value = e.target.textContent; // can be a separate function like 'select', but whatever ouvrirPage(); // trigger page opening from click event }); } } // function select(element){ // let selectUserData = element.textContent; // SearchBx.value = selectUserData; // } function showSuggestions(list){ let listData; if(!list.length){ userValue = SearchBx.value; listData = '<li>'+ userValue +'</li>' }else{ listData = list.join(''); } AutoBox.innerHTML = listData; }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En lugar de buscar toda la entrada del usuario, dividí la entrada en palabras y busqué cada palabra por separado

 SearchBx.onkeyup = (e)=>{ console.log(e); let userData = e.target.value; let emptyArray = []; if(userData){ emptyArray = suggestions.filter((data)=>{ //#################################### //########### CHANGED HERE ########### //#################################### //return data.toLocaleLowerCase().includes(userData.toLocaleLowerCase()); let wordsTypedByTheUser = userData.toLocaleLowerCase().split(' '); return wordsTypedByTheUser.every(word => data.toLocaleLowerCase().includes(word)); //####################### //########### END ####### //####################### }); emptyArray = emptyArray.map((data)=>{ return data = '<li>'+ data + '</li>'; }); console.log(emptyArray); Main.classList.add("show"); }else{ } showSuggestions(emptyArray); let allList = AutoBox.querySelectorAll("li"); // for (let i = 0; i < allList.length; i++) { // allList[i].setAttribute("onclick", "select(this)"); // } for(const el of allList){ // use for..of instead of indexed for el.addEventListener('click', (e) => { // attach an event listener instead of using the onclick attribute SearchBx.value = e.target.textContent; // can be a separate function like 'select', but whatever ouvrirPage(); // trigger page opening from click event }); } } // function select(element){ // let selectUserData = element.textContent; // SearchBx.value = selectUserData; // } function showSuggestions(list){ let listData; if(!list.length){ userValue = SearchBx.value; listData = '<li>'+ userValue +'</li>' }else{ listData = list.join(''); } AutoBox.innerHTML = listData; }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!