zoukankan      html  css  js  c++  java
  • JQuery 插件 autocomplete

      最近有个功能就是对文本框里的内容模糊查询,并出现一个下拉框对模糊查询出来的内容进行选择。最开始写的时候我就想起以前的公司遇到过,用的是rpc(简称人品差),but我已经记不得咋个实现的了,然后各种求助以前的同事。然而他们都不晓得咋个弄了。好吧,咋办呢,我就问旁边的同事有没有遇到过这种类似的功能,怎么做的,早点问也不至于时间白白浪费吧。于是就有了autocomplete.我的知识面不广,所以现在我也尽量在总结,不要笑。

      进入主题:

      官网地址:api.jqueryui.com/autocomplete/

      刚刚看了下这个官网,这个功能知识jQueryui中的一个,还有很多已经封装好的。真是见识太少了。

      引入autocomplete插件需要的js和css文件

      <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.10.2.js"></script>
      <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
      模拟source数据
    <script>
    $(function() {
    var availableTags = [
    "ActionScript",
    "AppleScript",
    "Asp",
    "BASIC",
    "C",
    "C++",
    "Clojure",
    "COBOL",
    "ColdFusion",
    "Erlang",
    "Fortran",
    "Groovy",
    "Haskell",
    "Java",
    "JavaScript",
    "Lisp",
    "Perl",
    "PHP",
    "Python",
    "Ruby",
    "Scala",
    "Scheme"
    ];
     
     
    $( "#tags" ).autocomplete({
        source: availableTags
    });
     
    });
    </script>
    </head>
    <body>
     
    <div class="ui-widget">//主要呈现下拉框的样式引入
    <label for="tags">Tags: </label>
    <input id="tags">
    </div>
    </body>
    </html>
    当然web中数据都是从数据库里获取的,source就是动态生成
    $( "#autocomplete" ).autocomplete({
        source: function( request, response ) {
            $.ajax({
              url:"",
              ...,
              success:function(data){
                  //这里看你data是啥子类型,遍历出来的数据就是source的值
                  response( $.map( data, function( item ) {
                    return { dbId:item.dbid, jdbcUrl:item.jdbcUrl, ip:item.ip, port:item.port }
                })      
              }
     
             })
          },
       select:function(event,ui){
        //在这里我将选中的值给文本框。但是选中后,文本框清空。值打印出来是得到了的,百思不得其解
        },
       appendTo:"#tag",//选择框出现在那个下面
      }) );
    }
    });
    //最后再将数据展示到面板中,用它自带的样式
    _renderItem: function( ul, item ) {
    return $( "<li>" )
    .attr( "data-value", item.value )
    .append( item.label )
    .appendTo( ul );
    }

    //实在是用不来这个网页版的博客园,啥子都是要纯输入

    参考:http://www.open-open.com/lib/view/open1340957775905.html

  • 相关阅读:
    java输出菱型
    java----内部类
    java中的多重继承
    java算法--三个数字比较大小
    Python基础(2)
    Python基础(1)
    Redis主从同步
    一种高效的进程间的通信方式
    自旋锁和互斥锁的区别
    Linux读写锁的使用
  • 原文地址:https://www.cnblogs.com/sharezx/p/5636201.html
Copyright © 2011-2022 走看看