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 数组实现一个类似ruby的迭代器
Oct 27 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
Dec 24 Javascript
Jquery实现动态切换图片的方法
May 18 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
Vue.js计算属性computed与watch(5)
Dec 09 Javascript
微信小程序倒计时功能实现代码
Nov 09 Javascript
javascript动态创建对象的属性详解
Nov 07 Javascript
转换layUI的数据表格中的日期格式方法
Sep 19 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
超简单的微信小程序轮播图
Nov 22 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中循环语句的用法介绍
2012/01/30 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
Python利用ansible分发处理任务
2015/08/04 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
从python读取sql的实例方法
2020/07/21 Python
工程监理应届生求职信
2013/11/09 职场文书
2013英文求职信模板范文
2013/11/15 职场文书
自我评价正确写法范文
2013/12/10 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
二手房购房协议书范本
2014/10/05 职场文书
生死抉择观后感
2015/06/09 职场文书
交通安全教育主题班会
2015/08/12 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL