使用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 ajax提交表单数据的两种方式
Nov 24 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
Mar 23 Javascript
jQuery实现移动 和 渐变特效的点击事件
Feb 26 Javascript
js闭包引起的事件注册问题介绍
Mar 29 Javascript
Bootstrap select下拉联动(jQuery cxselect)
Jan 04 Javascript
JavaScript中document.referrer的用法详解
Jul 04 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
Jan 08 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
Sep 11 Javascript
vue页面加载时的进度条功能(实例代码)
Jan 13 Javascript
js实现浏览器打印功能的示例代码
Jul 15 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
Sep 21 Javascript
利用js实现简单开关灯代码
Nov 23 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
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
许愿墙中用到的函数
2006/10/07 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
Python中的TCP socket写法示例
2018/05/11 Python
Django如何自定义分页
2018/09/25 Python
wxPython实现绘图小例子
2019/11/19 Python
python实现简单坦克大战
2020/03/27 Python
党校培训自我鉴定范文
2014/04/10 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
拆迁委托协议书
2014/09/15 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
高三生物教学反思
2016/02/22 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫