使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法


Posted in Javascript onJuly 07, 2016

根据网上查找到的 typeahead使用方法,到最后一步时就出错,数据能从数据库读取出来,但在输入框显示提示时,全都显为:underfined。捉摸了半天都发现不了问题出在哪儿。后来在http://blog.64cm.com/post/2014/08/13/%E4%BD%BF%E7%94%A8bootstrap-typeahead%E6%8F%92%E4%BB%B6 上不经意发现这么一句话:“在当前版本的typeahead中,已经不再支持在source属性中直接调用ajax方法获取数据源了。”提醒了我,因为我根据网上的方法,是直接在source中调用ajax方法。

再回头现在的ace demo,虽然没有调用ajax的示例,但也有注释说明如何用,只不过用的是英文(题外话:做技术的懂英语真的很重要。),经过一翻调试,终于能正确显示了。贴出代码如下:

js代码

<script type="text/javascript">
jQuery(function($) {
//typeahead.js
//example taken from plugin's page at: https://twitter.github.io/typeahead.js/examples/
var substringMatcher = function() {//substringMatcher()方法
return function findMatches(query, process) {//query 是配备的关键字,processj是返回的值
var matches, substringRegex;
var params = {"token": getStorage("token"), "flag":0,"name":query};
var parameter_str="";
for(var key in params){ 
parameter_str+="&"+key+"="+params[key];
} 
var fullurl=getOption("gykj_host")+"institution/list?"+getOption("gykj_callbackparam")+"="+getOption("gykj_callbackfunc")+parameter_str;
$("#submenu_info").html(fullurl);
$.ajax({
url:fullurl,
type:'get',
dataType:"jsonp",
jsonp:getOption("gykj_callbackparam"),
jsonpCallback:getOption("gykj_callbackfunc"),
async:false,
error:function(){
alert("列表:"+getOption("connectionErrorMessage"));
},
success:function(data){
//$("#submenu_info").html(fullurl);
if(data.code==0){
var arr,substringRegex;
arr=[];
substrRegex = new RegExp(query);//这必须有,要不还是显示为underfined
for(var item in data.data){
var str= data.data[item].name;
if (substrRegex.test(str)) {
// the typeahead jQuery plugin expects suggestions to a
// JavaScript object, refer to typeahead docs for more info
arr.push({ value:str});
}
}
process(arr);
}
}
})
}
}
$('input.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'states',
displayKey: 'value',
source: substringMatcher()//当前版本source属性中不能直接调用ajax方法获取数据源,通过substringMatcher()方法
});
});
</script>

html

<!-- inline scripts related to this page -->
<script src="../assets/js/ace-elements.js"></script>
<script src="../assets/js/typeahead.jquery.js"></script>
<input type="text" id="name" placeholder="机构名称" class="col-xs-10 col-sm-5 typeahead scrollable" value="" autocomplete="off" />

以上所述是小编给大家介绍的使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
疯狂Jquery第一天(Jquery学习笔记)
May 11 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
Sep 05 Javascript
Javascript毫秒数用法实例
Feb 05 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 Javascript
vue检测对象和数组的变化分析
Jun 30 Javascript
JavaScript实现的DOM绘制柱状图效果示例
Aug 08 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
微信小程序的线程架构【推荐】
May 14 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
Mar 02 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 #Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 #Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 #Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 #Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
Jul 06 #Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
Jul 06 #Javascript
jQuery+ajax实现实用的点赞插件代码
Jul 06 #Javascript
You might like
main.php
2006/12/09 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
zend framework重定向方法小结
2016/05/28 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
jquery each()源代码
2011/02/14 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
Javascript BOM学习小结(六)
2015/11/26 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
python实现机器人行走效果
2018/01/29 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
仓库组长岗位职责
2014/01/29 职场文书
员工拓展培训方案
2014/02/15 职场文书
自主招生自荐信范文
2015/03/04 职场文书
技术员岗位职责范本
2015/04/11 职场文书
红高粱观后感
2015/06/10 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
党员读书活动心得体会
2016/01/14 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
餐厅开业活动方案
2019/07/08 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android