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 相关文章推荐
用jscript实现新建和保存一个word文档
Jun 15 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
Jan 15 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
跟我学习javascript的闭包
Nov 16 Javascript
JS未跨域操作iframe里的DOM
Jun 01 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 Javascript
node+vue实现文件上传功能
May 28 Javascript
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
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
mysql limit查询优化分析
2008/11/12 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
php中namespace use用法实例分析
2016/01/22 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
深入理解python中的select模块
2017/04/23 Python
简单实现python画圆功能
2018/01/25 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python处理document文档保留原样式
2019/09/23 Python
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
澳大利亚家庭花园和DIY工具网店:VidaXL
2019/05/03 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
工伤死亡理赔协议书
2014/10/20 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS