easyUI+jQuery-利用indexof制作一个模糊查询功能

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的表格
    }
  1. 封装一个模糊查询函数(两种)

// 固定列查找模糊搜索
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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值