zoukankan      html  css  js  c++  java
  • 模糊查询 函数封装

    fuzzyQuery.js

    /**
     * 封装 模糊查询
     * 容器id #searchResult
     * 关键字keyWord keyWord
     * 数组数据searchDataArr searchDataArr
     */
    function FuzzyQuery(options){
    	// 元素
    	var oList = document.getElementById(options.id);
    	// 查询
    	function query(){
    		// 关键字
    		var keyWord = options.keyWord;
    		// 搜索结果
    	    var searchResultList = searchByRegExp(keyWord, options.searchDataArr);
    	    // 显示数据
    	    renderAreas(searchResultList);
    	}			
    	// 显示数据
    	function renderAreas(list){
    	    if(!(list instanceof Array)){
    	        return ;
    	    }
    	    oList.innerHTML = '';
    	    var len = list.length;
    	    var item = null;
    	    for(var i=0;i<len;i++){
    	        item = document.createElement('li');
    	        item.className = 'mui-table-view-cell';
    	        item.floorId = list[i].floorId;
    	        item.modelScene = list[i].modelScene;
    	        item.innerHTML = list[i].floorName;
    	        item.onclick = function(){
    	        	// 跳转传值
    				if(this.modelScene === 'suidao'){
    					// 跳转隧道页
    					mui.openWindow({
    						url:'query_area_tunnel.html',
    						id:'query_area_tunnel.html',
    						extras:{
    							floorId:this.floorId,
    							token:options.token
    						}
    					});
    				}else if(this.modelScene === 'shujing'){
    					// 跳转竖井页
    					mui.openWindow({
    						url:'query_area_shaft.html',
    						id:'query_area_shaft.html',
    						extras:{
    							floorId:this.floorId,
    							token:options.token
    						}
    					});
    				}
    	        };
    	        oList.appendChild(item);
    	    }
    	}
    	//正则匹配
    	function searchByRegExp(keyWord, list){
    	    if(!(list instanceof Array)){
    	        return ;
    	    }
    	    var len = list.length;
    	    var arr = [];
    	    var reg = new RegExp(keyWord);
    	    for(var i=0;i<len;i++){
    	        //如果字符串中不包含目标字符会返回-1
    	        if(list[i].floorName.match(reg)){
    	            arr.push(list[i]);
    	        }
    	    }
    	    return arr;
    	}
    	
    	// 触发查询
    	query();
    }
    

    .

  • 相关阅读:
    Dictionary集合 字典
    装箱和拆箱
    List< >泛型集合
    Hashtable 键值对集合
    File 类 的基本操作
    简体转换繁体
    ArrayList集合长度的问题
    ArrayList  集合
    里式转换
    字符串中常用的方法
  • 原文地址:https://www.cnblogs.com/crazycode2/p/7239024.html
Copyright © 2011-2022 走看看