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

  • 相关阅读:
    显示文件本地文件夹
    Select Dependencies选择依赖项
    搜索小技巧
    783. Minimum Distance Between BST Nodes BST节点之间的最小距离
    5. Longest Palindromic Substring 最长的回文子串
    12. Integer to Roman 整数转罗马数字
    3. Longest Substring Without Repeating Characters 最长的子串不重复字符
    539. Minimum Time Difference 最小时差
    43. Multiply Strings 字符串相乘
    445. Add Two Numbers II 两个数字相加2
  • 原文地址:https://www.cnblogs.com/sharezx/p/5636201.html
Copyright © 2011-2022 走看看