1.准备一份查询对比的数据
var proNameList = [
{
name:'张三',
code : '001',
id : 'fuzzy01',
telephone : '18888881139',
old : '21'
},
{
name:'李四',
code : '002',
id : 'fuzzy02'
telephone : '13667588888',
old : '31'
},
{
name:'王五',
code : '003',
id : 'fuzzy03'
telephone : '15636766666'
old : '11'
},
]
2.获取一下输入框内容(我的输入框是利用easyUI中的textbox做的)
var keyWord = $("#queryFiled").textbox("getValue");
//防止有空格
keyWord = (""+keyWord+"").replace(" ",'')
//将输入框内容及数据传入函数
if(queryFiled){
var searchList=fuzzyQuery(proNameList,keyWord);
//将获取到的数据传入表格
refreshDataList(searchList)//esayui的表格
}
- 封装一个模糊查询函数(两种)
// 固定列查找模糊搜索
function fuzzyQuery(list, keyWord) {
var arr = [];
for (var i = 0; i < list.length; i++) {
if (list[i].name.indexOf(keyWord) >= 0) {
arr.push(list[i]);
}else if (list[i].telephone .indexOf(keyWord) >= 0) {
arr.push(list[i]);
}
else if (list[i].old .indexOf(keyWord) >= 0) {
arr.push(list[i]);
}
}
return arr;
}
// 全部查找模糊搜索
function fuzzyQuery(list, keyWord) {
var arr = [];
for (var i = 0; i < list.length; i++) {
var obj = list[i]
for (var key in obj) {
var name = obj[key].toString()
if (name.indexOf(keyWord) >= 0) {
arr.push(list[i]);
}
}
}
return arr;
}
4.给数组去重之后将数据传入表格
// 去重
function distinct(arr){
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
//第一个等同于第二个,splice方法删除第二个
if(arr[i].id ==arr[j].id ){
arr.splice(j,1);
j--;
}
}
}
console.log(arr)
return arr;
}