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 相关文章推荐
jQuery 处理页面的事件详解
Jan 20 Javascript
JQuery实现网页右侧随动广告特效
Jan 17 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 jQuery
在vue中使用vue-echarts-v3的实例代码
Sep 13 Javascript
如何获取vue单文件自身源码路径
May 06 Javascript
Vue项目环境搭建详细总结
Sep 26 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
原生js实现无缝轮播图效果
Jan 28 Javascript
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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
轻松实现php文件上传功能
2017/02/17 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
JS判定是否原生方法
2013/07/22 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
Vue的Options用法说明
2020/08/14 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
简单介绍django提供的加密算法
2019/12/18 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Python文件操作方法详解
2020/02/09 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
python 实现两个npy档案合并
2020/07/01 Python
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
会计实习生自我鉴定
2013/12/12 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
三峡大坝导游词
2015/01/31 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers