第六章 使用 Bootstrap Typeahead 组件(百度下拉效果)(续)

官方:http://twitter.github.io/typeahead.js/

示例:http://twitter.github.io/typeahead.js/examples/(本文展示:Open Source Projects by Twitter)

项目源码:https://github.com/twitter/typeahead.js(点击Download ZIP下载typeahead.js-master.zip)

1.实现

HTML

提示:examples.css为实例中的css文件

<link type="text/css" href="@Url.Content("~/Scripts/typeahead/examples.css")" rel="stylesheet"/>
<script src="@Url.Content("~/Scripts/typeahead/typeahead.js")"  type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/typeahead/hogan-2.0.0.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/typeahead/underscore-min.js")"  type="text/javascript"></script>
<div>
    <div style="margin: 10px 50px" class="col-md-3">
        <div class="form-group example-twitter-oss">
            <label class="col-md-4 control-label ">
                姓名</label>
            <div class="col-md-7">
                @Html.TextBox("InputName", "", new { @class = "inputName form-control", placeholder = "请输入姓名" })
            </div>
        </div>
    </div>
    @Html.Hidden("getInputName", Url.Action("GetInputName"))
    <script type="text/javascript">
        $('.inputName').typeahead({
            name: 'inputname',
            remote: $("#getInputName").val() + '/?query=%QUERY',
            template: ['<p class="repo-language">{{vipname}}</p>',
                       '<p class="repo-name">{{name}}</p>',
                       '<p class="repo-description">{{description}}</p>'
                       ].join(''),
            limit: 10,
            engine: Hogan
        });
    </script>
</div>

 

控制器

  #region 获取姓名提示下拉
        /// <summary>
        ///  获取姓名提示下拉
        /// </summary>
        /// <returns></returns>
        public ActionResult GetInputName(string query)
        {
            var list = new List<TypeaheadModel>();
            if (!string.IsNullOrWhiteSpace(query))
            {
                query = query.Trim();

                foreach (var item in GetData())
                {
                    if (item.name.Contains(query))
                    {
                        list.Add(item);
                    }
                }
            }
            return Json(list, JsonRequestBehavior.AllowGet);
        }
        #endregion

        public List<TypeaheadModel> GetData()
        {
            List<TypeaheadModel> list = new List<TypeaheadModel>();
            TypeaheadModel model = new TypeaheadModel();

            for (int i = 0; i < 5; i++)
            {
                model = new TypeaheadModel();
                model.description = "D";
                model.vipname = "V";
                model.name = "A" + i.ToString();
                model.value = "A" + i.ToString();//
                list.Add(model);
            }

            for (int i = 3; i < 10; i++)
            {
                model = new TypeaheadModel();
                model.description = "";
                model.vipname = "";
                model.name = "B" + i.ToString();
                model.value = "B" + i.ToString();
                list.Add(model);
            }

            return list;
        }

 

模型

public class TypeaheadModel
    {
        public string name { get; set; }
        public string vipname { get; set; }
        public string description { get; set; }
        /// <summary>
        /// 选中后文本框的值
        /// </summary>
        public string value { get; set; }
    }

 

 

2.效果:

 

 

时间: 2024-09-25 11:04:24

第六章 使用 Bootstrap Typeahead 组件(百度下拉效果)(续)的相关文章

BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)_javascript技巧

接着上篇的内容,在上篇给大家介绍了Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. 官方:http://twitter.github.io/typeahead.js/ 示例:http://twitter.github.io/typeahead.js/examples/(本

第五章 使用 Bootstrap Typeahead 组件(百度下拉效果)

推荐链接:http://www.cnblogs.com/haogj/p/3376874.html   UnderScore官网:http://underscorejs.org/ 参考文档:http://www.css88.com/doc/underscore/   页面代码: @{ ViewBag.Title = "Index"; } <script src="Scripts/bootstrap-typeahead.js"></script>

Bootstrap &lt;基础十二&gt;下拉菜单(Dropdowns)

原文:Bootstrap <基础十二>下拉菜单(Dropdowns) Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 class .dropdown 内加上下拉菜单即可.下面的实例演示了基本的下拉菜单: <!DOCTYPE html> <html> <head> <title>Bootstrap

Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发_javascript技巧

在使用bootstrap制作后台时用到了响应式导航条,其中dropdown组件更是用的比较多,用的多需要点击的就多,dropdown默认鼠标左键单击才展开,如果使用鼠标放上去(hover)就展开则会省去点击时间,这样能提高效率. 原本的改造思路是:给dropdown元素绑定hover事件,hover上去的时候,执行该元素的click事件--即把hover同步为click,hover即为click. 但想到与其自己来改造,不如先在网上搜索搜索看看有没有现成的插件,果不其然就搜索到了,托管在gith

巧用百度下拉框设置网站的目标关键词

一个网站标题的关键词的设置决定了我们SEO的方向,但很多人在选取关键词的时候非常迷茫,他们总想获取相关关键词所有的流量,但这样做的结果是一个关键词都没有做上来.我们在设置关键词的时候,只需要获得针对性的.我们网站所要体现的关键词的流量即可,不要总是想着获取一些和自己网站不相关的边缘流量,否则对我们的网站是有害的.下面我们以最近大家比较关注的油罐车为关键词结合百度下拉框来做为案例,请看下图:   以上为百度搜索油罐车时百度下拉框提示的信息,那么我们先要了解百度下拉框的相关搜索词的原理.百度是根据用

陈天胜:透视百度下拉框营销的灭绝

前一段时间老曹写过一篇关于下拉框营销的文章,但是时隔不久百度下拉框营销就已经退出了市场,各相关软件公司疯狂掠财之后,被深深的丢进了深渊.这种营销方式从出现到灭绝可以说是昙花一现,同时也说明了依附于大型网络平台所开展的附带营销业务也是很容易被扼杀的. 百度下拉框营销是一种比较容易实现的技术,就是根据某关键词的独立IP搜索的次数来进行排序,增长速度快并且搜索频率比较高的关键词会被排名很高,所以很多软件公司看到了这块市场,开发关键词互刷平台,当多人同时挂上软件的时候,就会互相刷新关键词的搜索量,当搜索

王宝臣:百度下拉框的三点意义心得体会

用户体验可以表现在任何地方,在站长圈说的用户体验大多都是在说网站的某一个细节,比如我们经常观看的logo是在网页的头部的左上角区域(个性页 面除外),这其实也是归结于用户群体的一个使用习惯,那么言归正传百度的下拉框其实也是百度产品在提高他们的用户体验而做的一个细节调整,当某一个时间段 搜索某一特定词汇的人数比较多的时候自然的百度搜索机器就会帮助用户识别并且提示跟搜索词汇前几个字有关系的那些词汇进行提示,如图:   你会发现当我在百度搜索框中输入:王宝的时候近期的一些搜索包括知名草根电影明星-王宝

破解百度相关搜索神秘性 分享百度下拉框成功方法

当我们在百度的搜索框里面,搜索一个关键词后,首先我们能够看到百度搜索框变成了一个下拉框,很多相关的搜索会出现在下拉框里面,而在这个关键词的搜索结果页面的底部,也会同样出现一些相关关键词,这是百度为了提升用户搜索体验的一种功能,可正是这种功能,往往能够给我们草根站长带来丰厚的利润,只要我们能够把自己网站的长尾关键词做到这个下拉框或者相关搜索里面,就会给自己网站带来相当不错的高转化率的流量!可是又如何能够实现呢?那就从百度的相关搜索原理来说起吧! 首先,搜索引擎制定的排名规则,网站的流量往往是比较看

透过百度下拉框营销的灭绝看互联网发展

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前一段时间老曹写过一篇关于下拉框营销的文章,但是时隔不久百度下拉框营销就已经退出了市场,各相关软件公司疯狂掠财之后,被深深的丢进了深渊.这种营销方式从出现到灭绝可以说是昙花一现,同时也说明了依附于大型网络平台所开展的附带营销业务也是很容易被扼杀的. 百度下拉框营销是一种比较容易实现的技术,就是根据某关键词的独立IP搜索的次数来进行排序,增长速