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

作者:化蝶自在飞 时间:2024-05-09 10:39:43 

基于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个精彩的专题:

Bootstrap学习教程

Bootstrap实战教程

Bootstrap插件使用教程

标签:bootstrap,插件,autocomplete,自动完成,表单
0
投稿

猜你喜欢

  • 微信小程序实现图片上传功能实例(前端+PHP后端)

    2023-11-05 14:19:27
  • python调用webservice接口的实现

    2022-10-20 12:54:26
  • 让sql2005运行在独立用户下出现 WMI 提供程序错误的解决方式

    2024-01-13 13:12:50
  • python字符串大小写转换的三种方法

    2021-11-09 15:04:51
  • PHP格式化显示时间date()函数案例讲解

    2023-06-13 06:45:34
  • js+ajax实现获取文件大小的方法

    2023-08-12 00:22:07
  • 多个python文件调用logging模块报错误

    2021-03-30 23:30:24
  • 浅析Go语言中的Range关键字

    2024-02-10 10:57:42
  • 解决tensorflow/keras时出现数组维度不匹配问题

    2023-01-01 04:16:24
  • PHP概率计算函数汇总

    2023-11-19 08:06:19
  • 手把手教你制作Google Sitemap

    2008-09-04 10:35:00
  • 用Python生成会跳舞的美女

    2023-04-04 11:52:09
  • SQL Server 更改DB的Collation

    2024-01-26 23:22:35
  • Pytest+Request+Allure+Jenkins实现接口自动化

    2021-04-09 13:50:44
  • SQL SERVER触发器详解

    2024-01-22 01:50:00
  • Python爬虫中urllib3与urllib的区别是什么

    2023-04-04 05:48:12
  • Pytorch可视化之Visdom使用实例

    2021-01-05 12:16:13
  • MYSQL SET类型字段的SQL操作知识介绍

    2024-01-20 20:00:38
  • Node.js 的模块知识汇总

    2024-05-08 09:35:07
  • [机器视觉]使用python自动识别验证码详解

    2021-09-12 03:24:36
  • asp之家 网络编程 m.aspxhome.com