基于bootstrap插件实现autocomplete自动完成表单
来源: 阅读:3390 次 日期:2016-07-02 13:04:40
温馨提示: 小编为您整理了“基于bootstrap插件实现autocomplete自动完成表单”,方便广大网友查阅!

这篇文章主要介绍了基于bootstrap插件实现autocomplete自动完成表单的相关资料,感兴趣的朋友可以参考一下

基于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);

 });

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

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map