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 相关文章推荐
原生js实现给指定元素的后面追加内容
Apr 10 Javascript
10分钟学会写Jquery插件实例教程
Sep 06 Javascript
Javascript Object 对象学习笔记
Dec 17 Javascript
js实现类似菜单风格的TAB选项卡效果代码
Aug 28 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 Javascript
ReactNative之FlatList的具体使用方法
Nov 29 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
vue 动态表单开发方法案例详解
Dec 02 Javascript
JsonServer安装及启动过程图解
Feb 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
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
php 将excel导入mysql
2009/11/09 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
js闭包的用途详解
2014/11/09 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
json跨域调用python的方法详解
2017/01/11 Python
Python实现的选择排序算法示例
2017/11/29 Python
python opencv之SIFT算法示例
2018/02/24 Python
简单了解python元组tuple相关原理
2019/12/02 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
python和php学习哪个更有发展
2020/06/17 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
仓库主管的岗位职责
2013/12/04 职场文书
建筑项目策划书
2014/01/13 职场文书
公开承诺书格式
2014/05/21 职场文书
公司会议开幕词
2015/01/29 职场文书
保安辞职信范文
2015/02/28 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书