zoukankan      html  css  js  c++  java
  • 第六章 使用 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.效果:

  • 相关阅读:
    性能测试-地铁模型分析
    如何测试网页登录页面
    软件测试修炼之道(转载)
    每当在测试之路迷茫的时候来看看这篇文章
    软件测试博客较好的网址(供参考)
    Spring扩展:替换IOC容器中的Bean组件 -- @Replace注解
    拯救老旧工程,记桥接SpringMVC与Stripes框架
    Netty实现WebSocket,URI参数问题
    高性能内存队列Disruptor--原理分析
    Idea中Smart Tomcat插件启动报NullPointerException问题
  • 原文地址:https://www.cnblogs.com/xcsn/p/3524111.html
Copyright © 2011-2022 走看看