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 相关文章推荐
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
JavaScript实现鼠标点击后层展开效果的方法
May 13 Javascript
javascript事件冒泡实例分析
May 13 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
详谈js中数组(array)和对象(object)的区别
Feb 27 Javascript
Vue中this.$router.push参数获取方法
Feb 27 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
详解webpack自定义loader初探
Aug 29 Javascript
Vue项目总结之webpack常规打包优化方案
Jun 06 Javascript
5个实用的JavaScript新特性
Jun 16 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
php字符串过滤与替换小结
2015/01/26 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
DOM相关内容速查手册
2007/02/07 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
Python中的Classes和Metaclasses详解
2015/04/02 Python
python 基础教程之Map使用方法
2017/01/17 Python
python正则表达式re之compile函数解析
2017/10/25 Python
python的中异常处理机制
2018/08/30 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
python pymysql库的常用操作
2020/10/16 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
基层党支部公开承诺书
2014/05/29 职场文书
青年文明号申报材料
2014/12/23 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
父亲节寄语大全
2015/02/27 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
推广普通话的宣传语
2015/07/13 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python