Jquery AutoComplete自动完成 的使用方法实例

  jquery-autocomplete配置:

  <script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>

  <script type="text/javascript" src="/js/jquery.autocomplete.min.js"></script>

  <link rel="Stylesheet" href="/js/jquery.autocomplete.css" />

  首先是一个最简单的Autocomplete(自动完成)代码片段:

  

复制代码 代码如下:

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head runat="server">

  <title>AutoComplate</title>

  <script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>

  <script type="text/javascript" src="/js/jquery.autocomplete.min.js"></script>

  <link rel="Stylesheet" href="/js/jquery.autocomplete.css" />

  <script type="text/javascript">

  $(function() {

  var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" ");

  $('#keyword').autocomplete(data).result(function(event, data, formatted) {

  alert(data);

  });

  });

  </script>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  <input id="keyword" />

  <input id="getValue" value="GetValue" type="button" />

  </div>

  </form>

  </body>

  </html>

  result方法是jQuery Autocomplete插件里的重要方法,它在用户在选定了某个条目时触发。data参数为选中的数据。

  一个稍微复杂的例子,可以自定义提示列表:

  

复制代码 代码如下:

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head runat="server">

  <title>自定义提示</title>

  <script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>

  <script type="text/javascript" src="/js/jquery.autocomplete.min.js"></script>

  <link rel="Stylesheet" href="/js/jquery.autocomplete.css" />

  <script type="text/javascript">

  var emails = [

  { name: "Peter Pan", to: "[email protected]" },

  { name: "Molly", to: "[email protected]" },

  { name: "Forneria Marconi", to: "[email protected]" },

  { name: "Master <em>Sync</em>", to: "[email protected]" },

  { name: "Dr. <strong>Tech</strong> de Log", to: "[email protected]" },

  { name: "Don Corleone", to: "[email protected]" },

  { name: "Mc Chick", to: "[email protected]" },

  { name: "Donnie Darko", to: "[email protected]" },

  { name: "Quake The Net", to: "[email protected]" },

  { name: "Dr. Write", to: "[email protected]" },

  { name: "GG Bond", to: "[email protected]" },

  { name: "Zhuzhu Xia", to: "[email protected]" }

  ];

  $(function() {

  $('#keyword').autocomplete(emails, {

  max: 12, //列表里的条目数

  minChars: 0, //自动完成激活之前填入的最小字符

  width: 400, //提示的宽度,溢出隐藏

  scrollHeight: 300, //提示的高度,溢出显示滚动条

  matchContains: true, //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示

  autoFill: false, //自动填充

  formatItem: function(row, i, max) {

  return i + '/' + max + ':"' + row.name + '"[' + row.to + ']';

  },

  formatMatch: function(row, i, max) {

  return row.name + row.to;

  },

  formatResult: function(row) {

  return row.to;

  }

  }).result(function(event, row, formatted) {

  alert(row.to);

  });

  });

  </script>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  <input id="keyword" />

  <input id="getValue" value="GetValue" type="button" />

  </div>

  </form>

  </body>

  </html>

  formatItem、formatMatch、formatResult是自定提示信息的关键。

  formatItem作用在于可以格式化列表中的条目,比如我们加了“I”,让列表里的字显示出了斜体。

  formatMatch是配合formatItem使用,作用在于,由于使用了formatItem,所以条目中的内容有所改变,而我们要匹配的是原始的数据,所以用formatMatch做一个调整,使之匹配原始数据,

  formatResult是定义最终返回的数据,比如我们还是要返回原始数据,而不是formatItem过的数据。

  jquery bassistance.de AutoComplete自动完成效果代码下载