Typeahead.js Bloodhound - 对象没有方法拆分

时间:2014-04-01 10:33:08

标签: jquery twitter-bootstrap bloodhound

我正在努力让Bloodhound工作。

我的代码:

var licenses = new Bloodhound({
        datumTokenizer: function(d) {
            return Bloodhound.tokenizers.whitespace(d.value);
        },
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        local: [{ "value": 1 , "text": "A"}, { "value": 2 , "text": "C+E"}]
    });

licenses.initialize();

抛出错误

  

对象1没有方法'拆分'

此代码有什么问题?

1 个答案:

答案 0 :(得分:1)

如果要将数字用作搜索词,则必须将其转换为字符串,如:

$(document).ready(function () {
    var numbers;

    numbers = new Bloodhound({
        datumTokenizer: function (d) {
            return Bloodhound.tokenizers.whitespace(d.value.toString());
        },
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        local: [{ "value": 1 , "text": "A"}, { "value": 2 , "text": "C+E"}]
    });

    numbers.initialize();

    $('.typeahead').typeahead(null, {
        displayKey: 'value',
        source: numbers.ttAdapter()
    });

});

演示:http://jsfiddle.net/IrvinDominin/6HSMA/