searchCont:function(el,flag){
var _this = this;
//空格替换
el.value = el.value.replace(' ','');
//关键字
var searchVal = $(el).val();
//目前只匹配电话高亮
if(flag){
var reText = _this.searchHighlight(_this.ulText,searchVal);
$('.j_chooseList').html(reText);
}
//高亮匹配后需要重新获取dom
var list = $(el).parent().next().find('li');
//遍历列表,匹配检索关键词
$.each(list, function(index, item){
var $item = $(item);
var eleText = $item.attr('name')+$item.find('.rightIco').attr('phone');
if(eleText.indexOf(searchVal) != -1) {
item.style.display = "block";
}else {
item.style.display = 'none';
}
});
},
searchHighlight:function(content,keyWord){
//搜索高亮匹配
var keyWordArr = keyWord.replace(/[\s]+/g, ' ').split(' ');
var re;
for(var n = 0; n < keyWordArr.length; n++) {
re = new RegExp("(" + keyWordArr[n] + ")", "gmi");
//匹配电话
var regd = /<b class="left">(.*?)<\/b>/gmi;
var outCome_exec = content.match(regd);
var needArr = [];
//得要截取后的号码数组
for(var i = 0;i<outCome_exec.length;i++){
var nodom = outCome_exec[i].replace(regd,'$1');
nodoms = nodom.replace(re, '<span style="color:#32b144;">$1</span>');
content = content.replace(nodom, nodoms);
}
}
return content;
}
js搜索 高亮匹配关键字,即时展示相关数据
最新推荐文章于 2024-05-30 20:38:53 发布