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 相关文章推荐
优化Jquery,提升网页加载速度
Nov 14 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
Apr 25 Javascript
js函数参数设置默认值的一种变通实现方法
May 26 Javascript
chrome下img加载对height()的影响示例探讨
May 26 Javascript
Vue数据驱动模拟实现3
Jan 11 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
vue init失败简单解决方法(终极版)
Dec 22 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
Dec 29 Javascript
如何使用JavaScript实现栈与队列
Jun 24 Javascript
小程序实现日历左右滑动效果
Oct 21 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 Javascript
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
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+MSSQL分页的例子
2006/10/09 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
php strftime函数的详细用法
2018/06/21 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
javascript基本类型详解
2014/11/28 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
在Vue中使用echarts的方法
2018/02/05 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
pip命令无法使用的解决方法
2018/06/12 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python django生成迁移文件的实例
2019/08/31 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
苹果音乐订阅:Apple Music
2018/08/02 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
中专三年学习的个人自我评价
2013/12/12 职场文书
教师评优事迹材料
2014/01/10 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
运动会3000米加油稿
2015/07/21 职场文书
新教师教学工作总结
2015/08/14 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL