Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 推特';s引导预输入设置_Javascript_Twitter Bootstrap_Typeahead - Fatal编程技术网

Javascript 推特';s引导预输入设置

Javascript 推特';s引导预输入设置,javascript,twitter-bootstrap,typeahead,Javascript,Twitter Bootstrap,Typeahead,我用的是官方的。 主要的问题是,我可能不知道如何使用霍根怪物。JS方面: $("#search_name").typeahead({ name: 'name', remote: { url: '/entities/search_autocomplete.json?query=%QUERY', template: '<p><strong>{{id}}</strong> – {{name}}</p>',

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

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

这段代码来自我们的一个项目,应该可以帮助您理解转换外部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
});
$('input')。提前键入({
标题:“您的事件”,
模板:[
'',
“

{{name}

”, “

{{start\u time}

” ].加入(“”), 限额:3,, 远程:{ 网址:'https://graph.facebook.com/me/events?access_token=“+access_令牌, 过滤器:函数(parsedResponse){ var数据集=[]; 对于(i=0;i
您需要下载模板编译器并将其包含在标记中(例如,将其用作外部脚本或通过模块加载器等)。然后设置
Hogan
变量

我还建议您看看这一点,以便更好地理解数组转换


希望这能有所帮助:)

这对我来说不像JSON。对不起,这是一个Ruby代码,它被转换为JSON,输出几乎相同,即所有:asdf被转换为“asdf”等。它只是更可读,但无论如何,它已转换为JSON。非常感谢Ryan。我对typeahead的几个版本有点困惑,最终我使用了Github上Twitter默认库中的版本:。它让人困惑的是,当您从它下载TB时,它不包括typeahead。无论如何,谢谢你,伙计!旁注:Bootstrap确实包含了Typeahead(我现在才遇到这个问题),但包含的版本至少有几次修订。它提供了大部分自动完成功能,但没有数据加载/预取/本地存储功能。我最终使用了customizer:并完全关闭了基于BS的Typeahead。当然,由于OP提到的是Typeahead.js的docs(),而不是Bootstrap自己的Fork,我想我没有提到它。作为提醒,只要在
bootstrap.js
之后包含
typeahead.js
,就不会遇到任何兼容性问题。
$('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
});