abstract:利用jQuery UI中Auto-complete插件實(shí)現(xiàn)輸入自動(dòng)完成功能,大家在使用諸如淘寶、京東等電商平臺(tái)搜索商品時(shí),往往只要輸入商品的一些特殊字符,就可以顯示出和該字符相近的列表菜單,用戶使用鼠標(biāo)或者鍵盤方向鍵就可以快速選擇,實(shí)現(xiàn)了很好的用戶體驗(yàn)。1.最簡(jiǎn)單的用戶輸入自動(dòng)完成<!doctype html> <html lang="en"
利用jQuery UI中Auto-complete插件實(shí)現(xiàn)輸入自動(dòng)完成功能,大家在使用諸如淘寶、京東等電商平臺(tái)搜索商品時(shí),往往只要輸入商品的一些特殊字符,就可以顯示出和該字符相近的列表菜單,用戶使用鼠標(biāo)或者鍵盤方向鍵就可以快速選擇,實(shí)現(xiàn)了很好的用戶體驗(yàn)。
1.最簡(jiǎn)單的用戶輸入自動(dòng)完成
<!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.11.4/themes/smoothness/jquery-ui.css" rel="external nofollow" > <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <script> $(function() { //定義并初始化字典庫(kù)數(shù)據(jù)源集合 var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" ]; //自動(dòng)完成插件函數(shù) $( "#tags" ).autocomplete({ //自動(dòng)完成字典庫(kù)數(shù)據(jù)源 source: availableTags }); }); </script> </head> <body> <div class="ui-widget"> <label for="tags">請(qǐng)輸入: </label> <input id="tags"> </div> </body> </html>
2 使用遠(yuǎn)程數(shù)據(jù)源自動(dòng)完成
Auto-complete插件不光可以實(shí)現(xiàn)本地?cái)?shù)據(jù)源的自動(dòng)完成,也可以讀取遠(yuǎn)程的數(shù)據(jù)源,列如實(shí)現(xiàn)從服務(wù)器端讀取數(shù)據(jù)源信息。
通過(guò)將服務(wù)器數(shù)據(jù)緩存到瀏覽器中,獲取的數(shù)據(jù)源首先保存在cache變量中。
$(function() { //自定義緩存變量 var cache = {}; //自動(dòng)完成插件函數(shù) $("#tags").autocomplete({ //定義用戶最少輸入的字符數(shù) minLenght: 2, source: function(request, response){//定義遠(yuǎn)程獲取數(shù)據(jù)源函數(shù) var term = request.term;//定義用戶請(qǐng)求信息變量 if(term in cache) {//判斷請(qǐng)求數(shù)據(jù)是否存在緩存中 response(cache[term]);//真,從緩存中讀取數(shù)據(jù) return; } $.getJSON('data.json', request, function(data, Status, xhr) { cache[term] = data.result;//緩存遠(yuǎn)程數(shù)據(jù) response(data.result); }); } }); });
更多關(guān)于jQuery實(shí)現(xiàn)用戶輸入自動(dòng)完成功能請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!