javascript - Twitter 的 Bootstrap typeahead 设置

标签 javascript twitter-bootstrap typeahead

我用的是官方examples from Twitter . 主要问题,我可能不知道如何使用霍根怪物。 JS 端:

$("#search_name").typeahead({
    name: 'name',
    remote: {
        url: '/entities/search_autocomplete.json?query=%QUERY',
        template: '<p><strong>{{id}}</strong> – {{name}}</p>',
        engine: Hogan
      }
});

服务器以JSON格式返回数据,结构为:

[{\"id\":1234,\"name\":\"Blah blah...\",\"tokens\":[\"blah...\",\"blah\"]}]

最佳答案

只是从我们的一个项目中获取这段代码,应该可以帮助您理解转换外部 JSON 数组和在自定义自动完成提示中输出的必要标记:

$('input').typeahead({
    header: 'Your Events',
    template: [
    '<img class="ta-thumb" src="https://graph.facebook.com/{{id}}/picture?type=square" />',
    '<p class="ta-h1">{{name}}</p>',
    '<p class="ta-p">{{start_time}}</p>'
    ].join(''),
    limit: 3,
    remote: {
        url: 'https://graph.facebook.com/me/events?access_token=' + access_token,
        filter: function(parsedResponse) {
            var dataset = [];
            for(i = 0; i < parsedResponse.data.length; i++) {
                dataset.push({
                    name: parsedResponse.data[i].name,
                    start_time: parsedResponse.data[i].start_time,
                    id: parsedResponse.data[i].id,
                    value: parsedResponse.data[i].name,
                    tokens: [parsedResponse.data[i].id, parsedResponse.data[i].name]
                });
            }
            return dataset;
        },
    },
    engine: Hogan
});

您需要下载 Hogan.js模板编译器并将其包含在您的标记中(例如,将其用作外部脚本或通过类似 Require.js 的模块加载器)。然后这将设置 Hogan 变量。

我还建议查看 Graph API call更好地理解数组转换。

希望这对您有所帮助:)

关于javascript - Twitter 的 Bootstrap typeahead 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16321544/

相关文章:

css - Bootstrap 订购面板

javascript - bootstrap affix 如何将其固定到父元素

javascript - AngularJS-Bootstrap TypeAhead : TypeError: Cannot read property 'length' of undefined 错误

html - 如何在 bootstrap 3 typeahead 下拉列表中设置自定义 html 模板

javascript - Bootstrap Typeahead 转义?

javascript - 我的 Node.js 服务器上的奇怪输出 - 删除对象

javascript - 我怎样才能逃脱并删除“;”?从 Rails 提供的数据到 JavaScript

javascript - 循环每个 jQuery 问题

javascript - Highchart 不显示带有 Ajax 数据的饼图

jquery - 小型设备上的 Bootstrap Tab 中断