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获取鼠标点击元素对象(示例代码)
Dec 20 Javascript
DOM基础教程之事件对象
Jan 20 Javascript
js实现进度条的方法
Feb 13 Javascript
js改变embed标签src值的方法
Apr 10 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
JavaScript的设计模式经典之代理模式
Feb 24 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
Jun 30 Javascript
Vue实现PopupWindow组件详解
Apr 28 Javascript
JS字典Dictionary类定义与用法示例
Feb 01 Javascript
使用Vue实现简单计算器
Feb 25 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
PHP下几种删除目录的方法总结
2007/08/19 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
javascript 页面划词搜索JS
2009/09/28 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
在教室放鞭炮的检讨书
2014/09/28 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
档案接收函格式
2015/01/30 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android