当前位置:K88软件开发文章中心编程语言JavaScriptJS02 → 文章内容

jQuery UI 实例 - 自动完成(Autocomplete)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 6:09:06

jQuery UI 实例 - 自动完成(Autocomplete)根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择。如需了解更多有关 autocomplete 部件的细节,请查看 API 文档 自动完成部件(Autocomplete Widget)。本章节使用到 search.php 下载。默认功能当您在输入域中输入时,自动完成(Autocomplete)部件提供相应的建议。在本实例中,提供了编程语言的建议选项,您可以输入 "ja" 尝试一下,可以得到 Java 或 JavaScript。数据源是一个简单的 JavaScript 数组,使用 source 选项提供给部件。<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>jQuery UI 自动完成(Autocomplete) - 默认功能</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.9.1.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" href="http:





//jqueryui.com/resources/demos/style.css"> <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">标签:</label> <input id="tags"></div> </body></html>查看演示包含重音autocomplete 域使用自定义的 source 选项来匹配带有重音字符的结果项,即使文本域不包含重音字符也会匹配。但是如果您在文本域中键入了重音字符,则不会显示非重音的结果项。尝试键入 "Jo",会看到 "John" 和 "J?rn",然后 键入 "J?",只会看到 "J?rn"。<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>jQuery UI 自动完成(Autocomplete) - 包含重音</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.9.1.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" href="http:





//jqueryui.com/resources/demos/style.css"> <script> $(function() { var names = [ "Jörn Zaefferer", "Scott González", "John Resig" ]; var accentMap = { "á":





"a", "ö":





"o" }; var normalize = function( term ) { var ret = ""; for ( var i = 0; i < term.length; i++ ) { ret += accentMap[ term.charAt(i) ] || term.charAt(i); } return ret; }; $( "





#developer" ).autocomplete({ source:





function( request, response ) { var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" ); response( $.grep( names, function( value ) { value = value.label || value.value || value; return matcher.test( value ) || matcher.test( normalize( value ) ); }) ); } }); }); </script></head><body> <div class="ui-widget"> <form> <label for="developer">开发人员:</label> <input id="developer"> </form></div> </body></html>查看演示分类分类的搜索结果。尝试键入 "a" 或 "n"。<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>jQuery UI 自动完成(Autocomplete) - 分类</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.9.1.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" href="http:





//jqueryui.com/resources/demos/style.css"> <style> .ui-autocomplete-category { font-weight:





bold; padding:





.2em .4em; margin:





.8em 0 .2em; line-height:





1.5; } </style> <script> $.widget( "custom.catcomplete", $.ui.autocomplete, { _renderMenu:





function( ul, items ) { var that = this, currentCategory = ""; $.each( items, function( index, item ) { if ( item.category != currentCategory ) { ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" ); currentCategory = item.category; } that._renderItemData( ul, item ); }); } }); </script> <script> $(function() { var data = [ { label:





"anders", category:





"" }, { label:





"andreas", category:





"" }, { label:





"antal", category:





"" }, { label:





"annhhx10", category:





"Products" }, { label:





"annk K12", category:





"Products" }, { label:





"annttop C13", category:





"Products" }, { label:





"anders andersson", category:





"People" }, { label:





"andreas andersson", category:





"People" }, { label:





"andreas johnson", category:





"People" } ]; $( "





#search" ).catcomplete({ delay:





0, source:





data }); }); </script></head><body> <label for="search">搜索:</label><input id="search"> </body></html>查看演示组合框(Combobox)一个由 Autocomplete 和 Button 创建的自定义部件。您可以键入一些字符,来获得基于您的输入过滤的结果,或者使用按钮从完整列表中选择。该输入是从一个已有的 select 元素中读取,传递给带有自定义的 source 选项的 Autocomplete。这是一个不被支持的不完美的部件。这里纯粹是为了演示 autocomplete 定制功能。如需了解更多有关该部件工作原理的细节,请点击这里查看相关的 jQuery 文章。<!do

[1] [2] [3] [4] [5] [6]  下一页


jQuery UI 实例 - 自动完成(Autocomplete)