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 相关文章推荐
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
Jul 24 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
Dec 06 Javascript
jQuery仿天猫实现超炫的加入购物车
May 04 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
JavaScript知识点总结(十)之this关键字
May 31 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
详解webpack进阶之loader篇
Aug 23 Javascript
vue + vuex todolist的实现示例代码
Mar 09 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
Sep 23 Javascript
JavaScript实现下拉列表
Jan 20 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设计模式之代理模式的深入解析
2013/06/13 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
python异常处理try except过程解析
2020/02/03 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
德国团购网站:Groupon德国
2018/03/13 全球购物
自我鉴定写作要点
2014/01/17 职场文书
保护环境的建议书
2014/03/12 职场文书
创意婚礼策划方案
2014/05/18 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
校车司机安全责任书
2015/05/11 职场文书
无房证明样本
2015/06/17 职场文书
2016年小学生寒假总结
2015/10/10 职场文书