基于bootstrap插件实现autocomplete自动完成表单


Posted in Javascript onMay 07, 2016

基于bootstrap插件实现autocomplete自动完成表单,提供脚本代码,用例,以及后台服务端(php), 原文有些没说清楚的地方,希望能帮助大家.

首先肯定还是加载bootstrap&jquery了,需要额外说明的是,后端返回的二维数组,和formatItem方法下面的调用保持一致即可;
另外,返回的数据要先parseJSON!切记。

相关参数说明:

source:function(query,process){}。query表示当前文本输入框中的字符串,可在该方法中通过ajax向后台请求数据(数组形式的json对象),然后将返回的对象作为process的参数;
formatItem:function(item){}。对返回数据的具体某个json对象转化为字符串格式,用以显示在提示列表中,返回值:字符串;
setValue:function(item){}。选中提示列表某项时,设置文本输入框中显示的值以及实际需要获取的值。返回值格式:{'data-value':item["输入框显示值的item属性"],'real-value':item["实际需要获取值的item属性"]},后期可通过文本输入框的real-value属性获取该值;
items:自动完成提示的最大结果集数量,默认:8;
minLength:当前文本输入框中字符串达到该属性值时才进行匹配处理,默认:1;
delay:指定延时毫秒数后,才正真向后台请求数据,以防止输入过快导致频繁向后台请求,默认:500

基于bootstrap插件实现autocomplete自动完成表单,代码如下

1.代码

<script>
$('#sim_iccid').autocomplete({
 source:function(query,process){
 var matchCount = this.options.items;//允许返回结果集最大数量
 $.get("http://www.soyiyuan.com/update/",{"iccid":query,"matchCount":matchCount},function(respData){
  respData = $.parseJSON(respData);//解析返回的数据
  return process(respData);
 });
 },
 formatItem:function(item){
 return item["iccid"]+"("+item["mobile"]+")";
 },
 setValue:function(item){
 return {'data-value':item["iccid"],'real-value':item["mobile"]};
 }
});
</script>

2. $data为一个二维数组    
echo json_encode( $data )
3. 需要返回的标准json格式    

[code][{"iccid":"12345678901234567890","mobile":"1850000"},{"iccid":"12345785","mobile":"1850001"}][code]

Bootstrap自动完成控件Autocomplete是基于bootstrap自带控件typeahead改造而来,因为 typeahead不支持复杂的对象。

//示例代码如下:
 
$('#autocompleteInput').autocomplete({
 source:function(query,process){
  var matchCount = this.options.items;//返回结果集最大数量
  $.post("/bootstrap/region",{"matchInfo":query,"matchCount":matchCount},function(respData){
  return process(respData);
  });
 },
 formatItem:function(item){
  return item["regionName"]+"("+item["regionNameEn"]+","+item["regionShortnameEn"]+") - "+item["regionCode"];
 },
 setValue:function(item){
  return {'data-value':item["regionName"],'real-value':item["regionCode"]};
 }
 });
 
$("#goBtn").click(function(){ //获取文本框的实际值
 var regionCode = $("#autocompleteInput").attr("real-value") || "";
 alert(regionCode);
 });

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
Mar 03 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
Oct 13 Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
JS访问SWF的函数用法实例
Jul 01 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
详解vue-cli脚手架中webpack配置方法
Aug 22 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
js实现3D旋转相册
Aug 02 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
May 07 #Javascript
js实现上传图片及时预览
May 07 #Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 #Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
May 07 #Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
May 07 #Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 #Javascript
JavaScript数组方法总结分析
May 06 #Javascript
You might like
php单件模式结合命令链模式使用说明
2008/09/07 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
Django发送邮件功能实例详解
2019/09/02 Python
python线性插值解析
2020/07/05 Python
浅析python函数式编程
2020/09/26 Python
python时间time模块处理大全
2020/10/25 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
外贸英语毕业生自荐信
2013/11/14 职场文书
学术会议邀请函范文
2014/01/22 职场文书
教师个人自我鉴定
2014/02/08 职场文书
社区春季防火方案
2014/06/02 职场文书
2014公司年终工作总结
2014/12/19 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
停车场管理制度范本
2015/08/05 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android