JQuery 插件 autocomplete

  最近有個功能就是對文本框裏的內容模糊查詢,並出現一個下拉框對模糊查詢出來的內容進行選擇。最開始寫的時候我就想起之前的公司遇到過,用的是rpc(簡稱人品差),but我已經記不得咋個實現的了,而後各類求助之前的同事。然而他們都不曉得咋個弄了。好吧,咋辦呢,我就問旁邊的同事有沒有遇到過這種相似的功能,怎麼作的,早點問也不至於時間白白浪費吧。因而就有了autocomplete.個人知識面不廣,因此如今我也儘可能在總結,不要笑。javascript

  進入主題:css

  官網地址:api.jqueryui.com/autocomplete/html

  剛剛看了下這個官網,這個功能知識jQueryui中的一個,還有不少已經封裝好的。真是見識太少了。java

  引入autocomplete插件須要的js和css文件jquery

  <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 );
}

//實在是用不來這個網頁版的博客園,啥子都是要純輸入web

參考:http://www.open-open.com/lib/view/open1340957775905.htmlajax

相關文章
相關標籤/搜索