Ajax实现模拟关键字智能匹配搜索效果

准备数据keyword.json:(这里只贴出部分数据)

[
 {"id":1,"initial":"ad","keyword":"奥迪"},
 {"id":2,"initial":"ada4l","keyword":"奥迪A4L"},
 {"id":3,"initial":"ada6l","keyword":"奥迪A6L"},
 {"id":4,"initial":"adq5","keyword":"奥迪Q5"},
 {"id":5,"initial":"ada3","keyword":"奥迪A3"},
 {"id":6,"initial":"adq7","keyword":"奥迪Q7(进口)"},
 {"id":7,"initial":"ada8","keyword":"奥迪A8L(进口)"},
 {"id":8,"initial":"bm","keyword":"宝马"},
 {"id":9,"initial":"bm5x","keyword":"宝马5系"},
 {"id":10,"initial":"bm7x","keyword":"宝马7系"},
 {"id":11,"initial":"bt","keyword":"本田"},
 {"id":12,"initial":"bqsbx25","keyword":"北汽绅宝 X25"},
 {"id":13,"initial":"bqsbx35","keyword":"北汽绅宝X35"},
 {"id":14,"initial":"bqsbx55","keyword":"北汽绅宝X55"}
] 

html结构

<form class="fl search_form" action="#" method="post">
 <input class="search_text" id="searchKey" type="search" placeholder="请输入搜索关键字" onkeyup="searchSuggest(this);"/>
 <input class="search_btn" type="submit" value="搜索"/>
</form>
<!--start--智能搜索关键字匹配弹出层-->
<ul class="keywords_list"></ul>
<!--end--智能搜索关键字匹配弹出层--> 

js:

//当在搜索框输入内容时,根据关键字匹配,显示弹出层
function searchSuggest(obj){
 var searchKey=$(obj).val();
 var reg = new RegExp(searchKey,"i"); //忽略大小写匹配搜索框中输入的内容
 $.ajax({
 type:"get",
 url:"data/keyword.json",
 dataType:"json",
 success:function(data){
  var arr=[];
  for(var i=0,len=data.length;i<len;i++){
  if(searchKey!="" && (data[i].initial.search(reg)!=-1 || data[i].keyword.search(reg)!=-1)) {
   arr.push("<li onclick='changeSearchKey(this);'>"+data[i].keyword+"</li>");
  }
  }
  $(".keywords_list").html(arr).show();
 }
 });
}
//单击匹配列表中的关键字选项时,将该关键字显示在搜索框中
function changeSearchKey(obj){
 var value=$(obj).text();
 $("#searchKey").val(value);
 $('.keywords_list').hide();
} 

效果图:

以上所述是小编给大家介绍的Ajax实现模拟关键字智能匹配搜索效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    前言 第一次听说jsonp,其实早在2年之前.当时在做一个活动页面的抽奖模块,要从服务端get一个概率,当时什么都不懂,同事说用ajax,我就用ajax,同事说dataType改成jsonp,我就改成jsonp.于是乎活动页面做完了,以后也没有碰到过jsonp,在这期间我一直以为jsonp跟ajax息息相关,是xhr的一种特殊的跨域形式...直到一个月前的一次面试,问到jsonp我被虐成狗,才决定看下jsonp,好吧,原来jsonp也不是很难. 为什么要用jsonp? 相信大家对跨域一定不陌生,

  • asp.net和ajax实现智能搜索功能代码

    第一步,先做好搜索页面 复制代码 代码如下: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://

  • Ajax实现智能提示搜索功能

    一.效果图: 二.实现过程: 思路: 三.部分代码: html: <div id="searchbox"> <div><input type="text" id="txtTitle" /></div> <div id="btnSelect"><a href="javascript:;">Google</a></div&

  • Ajax实现模拟关键字智能匹配搜索效果

    准备数据keyword.json:(这里只贴出部分数据) [ {"id":1,"initial":"ad","keyword":"奥迪"}, {"id":2,"initial":"ada4l","keyword":"奥迪A4L"}, {"id":3,"initial":

  • js实现搜索框关键字智能匹配代码

    只要使用搜索引擎的朋友应该都有这样的体会,就是当在搜索框输入关键字的时候,会出现自能匹配现象,这绝对是非常好的用户体验,下面就是一段类似的代码,当然这里只是掩饰,所以只能匹配的数据都是本地固定好的,在实际应用中可以才能够数据库读取数据. 效果图: 代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" co

  • 基于jQuery实现搜索关键字自动匹配功能

    今天我们就一起来看一个简单的基于jquery的关键字自动匹配的例子,希望文章能够对各位有帮助. 例子一 在项目中,有时候需要用户选择城市,但是城市太多,用户选择起来不太方便,所以提供了一个用户可以通过输入框输入城市的汉字或者拼音简写.结果示意图如下: 当输入拼音后结果示意图如下: 实现代码如下: <html><head><title>实时查询城市通过姓名或拼音简写</title></head><meta charset = "ut

  • DWR实现模拟Google搜索效果实现原理及代码

    复制代码 代码如下: <!-- 模拟google搜索 --> <script type="text/javascript"> /********************************可配置选项********************************/ // 被选中的相似关键字背景颜色 var selectedBgColor = "#CCCCCC"; // 未被选中的相似关键字背景颜色 var unselectedBgColo

  • thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解

    本文实例讲述了thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果.分享给大家供大家参考,具体如下: 用过百度搜索的人应该都知道这个效果,今天我用ThinkPHP+Mysql+Ajax来实现这样的一个效果,首先我把所有的代码都先给大家,最后再来讲解. 百度即时搜索效果图 运行效果图 数据库截图 城市表 学校表 控制层代码(SchoolController.class.php) <?php namespace Wechat\Controller; use Think\Controll

  • Jquery插件仿百度搜索关键字自动匹配功能

    本文实例为大家分享了Jquery搜索关键字自动匹配功能的实现代码,供大家参考,具体内容如下 jQuery AutoComplete 是一个基于jQuery实现搜索关键字自动匹配提示的插件,该插件可扩展性强,表现性能优越,方便整合到自己的项目中使用:兼容IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+, and Chrome 1.0+ 等主流浏览器. 下面是具体的使用方法: 1.使用设置 首页,要把插件的js代码嵌入到你自己的项目中去. 复制代码 代码如下: <scr

  • 仿百度的关键词匹配搜索示例

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>关键词匹配搜索仿百度</title> <meta name="description" content=" 内容介绍不超过10

  • JS模拟bootstrap下拉菜单效果实例

    本文实例讲述了JS模拟bootstrap下拉菜单效果.分享给大家供大家参考,具体如下: 模拟bootstrap下拉菜单 在工作中要切一个效果:点击导航栏,则出现下列菜单,但是当点击其他地方的时候,就隐藏子菜单,效果有点类似于bootstrap 的"下拉菜单" 由于bootstrap的子菜单的样式与设计不同,因此需要自己写一个类似的效果 当点击某个控件的时候,则显示出下拉菜单,但是,当点击空白的地方的时候怎么让其自动隐藏呢? 起初的想法,给body绑定一个onclick事件,当点击空白的

  • AJAX打造博客无刷新搜索

    如果你对AJAX不是很了解,可以先看看这篇教程:<AJAX初体验之上手篇>. 现在博客很流行,相信应该上网时间稍微长点的朋友都会在这或者在那的有一个自己的博客.对于一些有一定能力的朋友,可能更喜欢自己去下载一个博客程序来架设一个自己的博客,而不是使用一些博客网站提供的服务.而大部分博客程序所带的搜索功能是提交查询关键字到搜索页面,然后在后台生成搜索结果,再呈现给用户,这过程之中浪费了一些带宽,如博客的侧边栏.要节约这一些带宽,我们可以用AJAX来打造自己的无刷新日志搜索. 在本篇教程中,数据库

  • jQuery模拟Marquee实现无缝滚动效果完整实例

    本文实例讲述了jQuery模拟Marquee实现无缝滚动效果.分享给大家供大家参考,具体如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>模拟Marquee无缝滚动</title> <style type="text/css"> /* CSS Document reset */ html, body, di

随机推荐