搜索框实现模糊查询方法 - js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索框实现模糊查询方法 - js相关的知识,希望对你有一定的参考价值。

参考技术A 日常开发中经常会遇到搜索框查询的例子,需要对数组中的元素进行检索并查询出所需的结果,通过如下方式简单实现了一个小的模糊查询,具体如下:
首先,用到了两个方法
1.对数组通过 filter 的方式遍历查询搜索的 key
2.对遍历出的结果进行字符串的模糊查询 str.indexOf("xxx") != -1

其次,通过如上两种方法的组合从而获得一个类似模糊查询的效果;
最后,具体实现 code 如下:

此次实现搭配使用的是该 Vant Search 组件
UI 部分很简单直接根据 demo 实例集成即可。

以上便是此次分享的全部内容,希望能对大家有所帮助!

html5实现下拉框模糊查询,JS Select下拉框(支持输入模糊查询)

Insert title here

function SelectValue(obj)

{

document.all.box2.value = obj.options[obj.selectedIndex].text;

}

var j = 0;

function InputValue(obj)

{

var n = 1;

var tmpObj;

var src = document.all.SelectOption;

var msg = document.all.msg;

if(event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13){

if(obj.value!=""){

msg.style.display="";

msg.innerHTML="";

if(msg.hasChildNodes())

{

msg.childNodes[0].parentNode.removeChild(msg.childNodes[0]);

}

for (var i=0;i

var selValue = document.createElement("div");

var selText = document.createElement("div");

selText.value = src(i).value;

selText.innerHTML = src(i).text;

if (src(i).text.toLowerCase().indexOf(obj.value.toLowerCase())==0){

selText.setAttribute("id","selText"+n);

selText.οnmοuseοver=function (){

this.style.backgroundColor='#003399';

this.style.color ='#ffffff';

}

selText.οnmοuseοut=function (){

this.style.backgroundColor='#ffffff';

this.style.color ='#000000';

}

selText.οnclick=function (){

document.all.box2.value = this.innerHTML;

msg.style.display="none";

document.getElementById("txtSection").value=this.value;

}

msg.appendChild(selText);

n++;

}

}

}

else {

document.all.msg.style.display="none";

}

}

else {

//press down key

if(event.keyCode==40){

j++;

for (var i=0; i

{

tmpObj = document.getElementById("selText"+i);

if(tmpObj != null){

tmpObj.style.backgroundColor='#ffffff';

tmpObj.style.color ='#000000';

}

}

tmpObj = document.getElementById("selText"+j);

if(tmpObj != null){

tmpObj.style.backgroundColor='#003399';

tmpObj.style.color ='#ffffff';

}else{

j = 0;

}

}

//press up key

if (event.keyCode==38){

j--;

for (var i=0; i

{

tmpObj = document.getElementById("selText"+i);

if(tmpObj != null){

tmpObj.style.backgroundColor='#ffffff';

tmpObj.style.color ='#000000';

}

}

tmpObj = document.getElementById("selText"+j);

if(tmpObj != null){

tmpObj.style.backgroundColor='#003399';

tmpObj.style.color ='#ffffff';

}else{

j = 2;

}

}

//press enter key

if (event.keyCode==13){

tmpObj = document.getElementById("selText"+j);

document.all.box2.value = tmpObj.innerHTML;

msg.style.display="none";

document.getElementById("txtSection").value=tmpObj.value;

}

}

}

function SelMatch(src)

{

var currSel = document.all.box2.value;

for (var i=0;i

if (src(i).text==currSel)

{

src.options(i).selected = true;

}

}

}

function NoMsg()

{

if(document.activeElement.id=="msg")

return false;

else

document.all.msg.style.display='none';

}

查询

ALL

管理者1

管理者2

管理者3

业务员3

业务员3

13

103

以上是关于搜索框实现模糊查询方法 - js的主要内容,如果未能解决你的问题,请参考以下文章

js如何实现模糊查询

vue 如何实现 Input 输入框模糊查询方法

jqgrid表格里面的下拉框能不能实现模糊查询

谁有多选下拉列表含模糊搜索功能的js组件,谢谢

js实现下拉框模糊查询

实现模糊查询用户的功能