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 相关文章推荐
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 Javascript
jQuery仿京东商城楼梯式导航定位菜单
Jul 25 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
老生常谈js数据类型
Aug 03 Javascript
vue better-scroll插件使用详解
Jan 25 Javascript
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
vue中使用cropperjs的方法
Mar 01 Javascript
vue2.0安装style/css loader的方法
Mar 14 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
Aug 10 Javascript
原生js实现Flappy Bird小游戏
Dec 24 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
JS前端使用canvas实现物体的点选示例
Aug 05 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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
drupal 代码实现URL重写
2011/05/04 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
原生js二级联动效果
2017/06/20 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
webpack之devtool详解
2018/02/10 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
python简单获取数组元素个数的方法
2015/07/13 Python
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
对python中的pop函数和append函数详解
2018/05/04 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
Django后台admin的使用详解
2019/07/08 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
就业自荐信
2013/12/04 职场文书
五四青年节的活动方案
2014/08/20 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
早读课迟到检讨书
2014/09/25 职场文书
事业单位考察材料范文
2014/12/25 职场文书
广播体操比赛主持词
2015/06/29 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
linux中nohup和后台运行进程查看及终止
2021/06/24 Python