基于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 相关文章推荐
js确认删除对话框效果的示例代码
Feb 20 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
Feb 24 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
vue中渐进过渡效果实现
Oct 27 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
Jan 13 Javascript
初探js和简单隐藏效果的实例
Nov 23 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 03 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
详解vue组件中使用路由方法
Feb 12 Javascript
Vue中keep-alive组件作用详解
Feb 04 Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
javascript读取RSS数据
2007/01/20 Javascript
超清晰的document对象详解
2007/02/27 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
Python selenium抓取微博内容的示例代码
2018/05/17 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
新闻网站实习自我鉴定
2013/09/25 职场文书
个人自我鉴定怎么写
2013/10/28 职场文书
心理健康教育制度
2014/01/27 职场文书
会计岗位职责模板
2014/03/12 职场文书
内勤主管岗位职责
2014/04/03 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
刑事和解协议书范本
2014/11/19 职场文书
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏