Bootstrap Typeahead Bloodhound标记器不适用于多个值

时间:2014-02-21 11:42:21

标签: 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时,它根本不会。我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

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