javascript - Bootstrap Typeahead Bloodhound 分词器不适用于多个值

标签 javascript jquery twitter-bootstrap bootstrap-typeahead

这是我的javascript:

<script type="text/javascript">
    $(document).ready(function () {

        var people = new Bloodhound({
              datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.tokens); },
              queryTokenizer: Bloodhound.tokenizers.whitespace,
              local: [
                { 
                    fullName: '',
                    "],
                },
                { 
                    fullName: 'Marijus Merkevicius', 
                    tokens: ["Marijus Merkevicius", "marijusm"],
                },
              ]
            }); 

        // initialize the bloodhound suggestion engine
        people.initialize();

        // instantiate the typeahead UI
        $('#${id }').typeahead(null, {
          displayKey: 'fullName',
          source: people.ttAdapter(),
        });

    }); 
</script>

当我使用 return Bloodhound.tokenizers.whitespace(d.fullName); 时,自动完成功能完美运行,但是当我返回 d.tokens 时,它根本不起作用。我在这里做错了什么?

最佳答案

Tokens 是一个数组,它需要一个字符串。您可以尝试 d.tokens.join(' '),但不确定是否需要围绕 d 的 jQuery 选择器 ($)。

关于javascript - Bootstrap Typeahead Bloodhound 分词器不适用于多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21933532/

相关文章:

javascript - Ajax 自动更新社交网站中的时间和日期

javascript更改事件在bootply中工作,而不在本地工作

javascript - 如何使用 Bootstrap 导航列表自动显示/隐藏元素

javascript - 如何使用 Jquery 选择动态添加的元素

javascript - Angular js ng-禁用

php - 在 Bootstrap 中运行 Ajax

javascript - 如何删除或改进 :focus style on Bootstrap Carousel?

javascript - 在 JS 文本区域中将大小写更改为小写

javascript - 使用 Node Selenium 下载 Excel 文件

jQuery Mobile 翻转开关样式