【问题标题】:Utilizing Bootstrap's typeahead as a search function利用 Bootstrap 的 typeahead 作为搜索功能
【发布时间】:2013-05-15 14:44:14
【问题描述】:

我的 typeahead 工作得很好,但我对 Javascript 太缺乏经验,无法理解如何将输入的结果转换为链接。

<input type="text"
                       class="span3"
                       data-provide="typeahead"
                       placeholder="City Search:"
                       data-items="6"
                       autocomplete="off" 
                       data-source=[&quot;Neuchatel&quot;,&quot;Moutier&quot;]">

所以,我真的只是想知道如何将数据源中的字符串转换为指向其他页面的链接。希望这相当简单。

谢谢!

【问题讨论】:

    标签: search twitter-bootstrap bootstrap-typeahead typeahead


    【解决方案1】:

    您可以轻松地将字符串转换为链接..

    <input type="text" data-provide="typeahead" data-source="[&quot;/foo.html&quot;,&quot;http://www.google.com&quot;,&quot;/about.html&quot;]">
    

    您是否还希望从输入中获取链接,然后导航到所选页面?

    编辑: 导航到预先输入中选择的项目..

    在这种情况下,您将定义一个对象映射,其中包含键(标签)和值(url),例如..

    var data = {
      "login":"/login",
      "home":"/",
      "user":"/user",
      "tags":"/tags",
      "google":"http://google.com"
    };
    

    然后您将启动预先输入。 source 和 updater 函数将被定义为处理 1) 从地图对象创建 typeahead 数据源数组,以及 2) 在选择项目时导航到适当的 url..

    $('.typeahead').typeahead({
      minLength:2,
      updater: function (item) {
            /* navigate to the selected item */
            window.location.href = data[item];
        },
      source: function (typeahead, query) {
        var links=[];
        for (var name in data){
            links.push(name); 
        }
    
        return links;
        }
    });
    

    Demo on Bootply

    【讨论】:

    • 谢谢,我确实在尝试导航到该页面。这个想法是让用户输入一个城市,名称弹出并选择它。然后他们被定向到该页面。有点像一个简单的 html 链接,但包含在字符串中。
    • 这家伙似乎在同一条轨道上,但我不明白如何存储确切的 URL。 webmaster-source.com/2012/11/07/…
    • @Skelly 为什么不为此使用自定义模板?
    猜你喜欢
    • 2013-09-13
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多