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 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
jQuery的强大选择器小结
Dec 27 Javascript
js获得页面的高度和宽度的方法
Feb 23 Javascript
JS中字符串trim()使用示例
May 26 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
vue基于Vue2.0和高德地图的地图组件实例
Apr 28 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
解决vue热替换失效的根本原因
Sep 19 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 Javascript
js实现简单的打印表格
Jan 15 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
JS 继承实例分析
2008/11/04 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
Python之Sklearn使用入门教程
2021/02/19 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
专科生就业求职信
2014/06/22 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL