Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果


Posted in Javascript onJuly 07, 2016

UnderScore官网:http://underscorejs.org/

参考文档:http://www.css88.com/doc/underscore/

页面代码:

@{
ViewBag.Title = "Index";
}
<script src="Scripts/bootstrap-typeahead.js"></script>
<script src="Scripts/underscore-min.js"></script>
<div>

简单使用

<div style="margin: 10px 50px">
<label for="product_search">
Product Search:
</label>
<input id="product_search" type="text" data-provide="typeahead" data-source='["DATA1", "DATA2", "DATA3"]' />
</div>

使用脚本填充数据

<div style="margin: 10px 50px">
<label for="product_search">
Product Search:
</label>
<input id="product_search_js" type="text" data-provide="typeahead">
</div>
<script type="text/javascript">
$(document).ready(function ($) {
$.fn.typeahead.Constructor.prototype.blur = function () {
var that = this;
setTimeout(function () { that.hide() }, 250);
};
$('#product_search_js').typeahead({
source: function (query, process) {
return ["JS数据1", "JS数据2", "JS数据3"];
},
highlighter: function (item) {
return "==>" + item + "<==";
},
updater: function (item) {
console.log("'" + item + "' selected."); //浏览器控制台输出
$("#product_search").val(item);
return item;
}
});
})
</script>

支持 Ajax 获取数据

<div style="margin: 10px 50px">
<label for="product_search">
Product Search:
</label>
<input id="product_search_ajax" type="text" data-provide="typeahead">
</div>
<script type="text/javascript">
$('#product_search_ajax').typeahead({
source: function (query, process) {
var parameter = { query: query };
$.post('@Url.Action("AjaxService")', parameter, function (data) {
process(data);
});
}
});
</script>

使用对象数据

<div style="margin: 10px 50px">
<label for="product_search">
Product Search:
</label>
<input id="product_search_object" type="text" data-provide="typeahead">
</div>
<script type="text/javascript">
$(function () {
var products = [
{
id: 0,
name: "object1",
price: 499.98
},
{
id: 1,
name: "object2",
price: 134.99
},
{
id: 2,
name: "object3",
price: 49.95
}
];
$('#product_search_object').typeahead({
source: function (query, process) {
var results = _.map(products, function (product) {
return product.name;
});
process(results);
},
highlighter: function (item) {
return "==>" + item + "<==";
},
updater: function (item) {
console.log("'" + item + "' selected.");
return item;
}
});
});
</script>
</div>

控制器

public ActionResult Index()
{
return View();
}
public ActionResult AjaxService()
{
string query = "";
if (!string.IsNullOrWhiteSpace(Request["Query"]))
query = Request["Query"].ToString();
var data = ("AJAX1,AJAX2,AJAX3").Split(',');
return Json(data);
}

效果图展示如下:

Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果

下面继续给大家介绍BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)

以上所述是小编给大家介绍的Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js判断浏览器类型为ie6时不执行
Jun 15 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
在Javascript中处理字符串之big()方法的使用
Jun 08 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
JavaScript基础教程——入门必看篇
May 20 Javascript
jQuery Select下拉框操作小结(推荐)
Jul 22 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
canvas绘制爱心的几种方法总结(推荐)
Oct 31 Javascript
Vue与React的区别和优势对比
Dec 18 Vue.js
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 #Javascript
jQuery之简单的表单验证实例
Jul 07 #Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 #Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 #Javascript
Node.js DES加密的简单实现
Jul 07 #Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
Jul 07 #Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 #Javascript
You might like
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
php分页示例分享
2014/04/30 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python通过smpt发送邮件的方法
2015/04/30 Python
总结Python中逻辑运算符的使用
2015/05/13 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
PHP经典面试题
2016/09/03 面试题
北大青鸟学生求职信
2013/09/24 职场文书
夜大自我鉴定
2013/10/31 职场文书
传播学专业毕业生自荐信
2013/11/04 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
李白故里导游词
2015/02/12 职场文书
redis 查看所有的key方式
2021/05/07 Redis
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis