javascript - 获取后映射预输入建议

标签 javascript typeahead.js typeahead twitter-typeahead bloodhound

我正在使用上次推特提前输入。

var suggestions = new Bloodhound({
        datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.value); },
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        remote: {url:'/xxx?text=%QUERY',
            ajax:{
                type : 'post',
                dataType : 'json'
            }
        }
    });
    suggestions.initialize();

    $('.typeahead').typeahead(null, {
        displayKey: 'id',
        source: suggestions.ttAdapter(),
        templates: {
            empty: '<p style="width:50%;margin:auto;">No result</p>',
            suggestion: function(object){
                    var str = ['<p>',
                        object.id,
                        '</p><a class="btn btn-info btn-small" href="item.html?id="',
                        object.id,
                        '>Open</a>'].join('');

                    return str;
                }
        }
    });

问题是我收到了 5 个类型的对象

{
id: 0,
field: '', 
value: ''
}

所有 5 个对象具有相同的 ID,因此是一个结果的字段,应该放入一个建议。 Typeahead 将它们视为单独的建议我不想要

我如何映射 ajax 调用的结果,对其进行转换并将结果传回 typeahead?

最佳答案

您可以使用 filter(parsedResponse)自己解析响应。你可以看到一个例子(一个不相关的答案)here .

关于javascript - 获取后映射预输入建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014126/

相关文章:

javascript - 是否有更优雅的解决方案来获取范围数组的倒数?

javascript - ng-click 不适用于 li

javascript - Google Street View JS 让我看到房子的侧面而不是正面

jquery - Twitter Typeahead 更新程序

javascript - 如何在多个 div 元素和上下文中初始化 typeahead.js?

javascript - 如何允许使用 Bootstrap 标签输入和 typeahead.js 自定义值?

javascript - 将 ID 存储在 Meteor 中的 react 数组中

javascript - 远程 JSON 的奇怪行为 Typeahead

twitter-bootstrap - Bootstrap - 在焦点上显示所有 Typeahead 项目

typeahead - Bootstrap typeahead 结果放入 div,可能吗?