jQuery UI仿淘宝搜索下拉列表功能


Posted in Javascript onJanuary 10, 2017

jquery仿淘宝搜索下拉列表实现效果如下:

jQuery UI仿淘宝搜索下拉列表功能

网上搜索教程:

<!doctype html> 
 
<html lang="en"> 
<head> 
 <meta charset="utf-8" /> 
 <title>jQuery UI Autocomplete - Default functionality</title> 
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
 <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
 <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
 
 <script> 
 $(function() { 
 var availableTags = [ 
 "ActionScript", 
 "AppleScript", 
 "Asp", 
 "BASIC", 
 "C", 
 "C++", 
 "Clojure", 
 "COBOL高", 
 "ColdFusion", 
 "Erlang", 
 "Fortran", 
 "Groovy", 
 "Haskell", 
 "Java", 
 "JavaScript", 
 "Lisp", 
 "Per高l", 
 "PHP", 
 "Python", 
 "Ruby", 
 "Scala", 
 "Sche高" 
 ]; 
 
 $( "#tags1" ).autocomplete({ 
  source: availableTags 
 }); 
 
 $("#tags2").autocomplete({ 
  source: ["a", "b", "c"] 
 }); 
 
 //页面加载 
 $("#tags3").autocomplete({ 
  source: DataSouce1() 
 }); 
  
 //数据库 
 $("#tags4").autocomplete({ 
  source: function( request, response ) { 
  var name=$.ui.autocomplete.escapeRegex( request.term ); 
  response( $.grep( DataSouce2(name), function( item ){ 
   return item; 
  }) ); 
  } 
 }); 
 
 //利用ajax页面加载就获取到数据源 
 function DataSouce1() 
 { 
  var mycars=new Array() 
  for (var i = 0; i <100; i++) { 
  mycars[i]="高"+i; 
  }; 
  return mycars; 
 } 
 
 //利用ajax根据输入的到数据库查找 相当于 
 function DataSouce2(name) 
 { 
  var mycars=new Array() 
  for (var i = 0; i <100; i++) { 
  mycars[i]=name+"_"+i; 
  }; 
  return mycars; 
 } 
 
 }); 
</script> 
</head> 
<body> 
 <div class="ui-widget"> 
 <label for="tags">Tags: </label> 
 <input id="tags1" /> 
 <input id="tags2" /> 
 <input id="tags3" /> 
 <input id="tags4" /> 
 </div> 
</body> 
</html>

使用第四种方法(tags4)实现:

注意:
1.要开启ajax的同步(true异步,false同步),即:async:false,
2.声明和返回的集合要写在  $.ajax({})之外!
3.导包

<link rel="stylesheet"href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/>
 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <scriptsrc="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

代码如下:

<script type="text/javascript"> 
         $("#querys").autocomplete({ 
            source: function( request, response ) { 
            var name=$.ui.autocomplete.escapeRegex( request.term ); 
            response( $.grep( DataSouce(name), function( item ){ 
             return item; 
            }) ); 
            } 
           }); 
          
         function DataSouce(name) 
         { 
          var querylist=new Array(); 
           $.ajax({ 
              type: "get", 
              data:{q:name},          
              url:"query", 
              dataType:'json',  
              contentType: "application/json", 
              async:false, 
              success:function(data){ 
               $(data.data.searchPOJOList).each(function(i){ 
                 querylist[i]=data.data.searchPOJOList[i].goodsName; 
               })  
              }   
            }) 
          return querylist; 
         }  
      </script>

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 面向对象编程(1) 基础
May 18 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
Sep 26 Javascript
Bootstrap每天必学之模态框(Modal)插件
Apr 26 Javascript
深入理解(function(){... })();
Aug 16 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
关于jquery layui弹出层的使用方法
Apr 21 jQuery
vue使用Google地图的实现示例代码
Dec 19 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
Apr 18 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 Javascript
js实现表单项的全选、反选及删除操作示例
Jun 05 Javascript
如何利用JavaScript实现二叉搜索树
Apr 02 Javascript
Vue如何实现组件间通信
May 15 Vue.js
jquery 正整数数字校验正则表达式
Jan 10 #Javascript
Angular的$http的ajax的请求操作(推荐)
Jan 10 #Javascript
JS遍历对象属性的方法示例
Jan 10 #Javascript
浅谈Angular.js中使用$watch监听模型变化
Jan 10 #Javascript
利用Query+bootstrap和js两种方式实现日期选择器
Jan 10 #Javascript
js实现背景图自适应窗口大小
Jan 10 #Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 #Javascript
You might like
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
JS 修改URL参数(实现代码)
2013/07/08 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
Python学习之asyncore模块用法实例教程
2014/09/29 Python
python生成IP段的方法
2015/07/07 Python
Python实现视频下载功能
2017/03/14 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
Python 监测文件是否更新的方法
2019/06/10 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Python调用Windows命令打印文件
2020/02/07 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
黄继光的英雄事迹材料
2014/02/13 职场文书
德语专业求职信
2014/03/12 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
五好家庭申报材料
2014/12/20 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电