0

我正在努力让 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 没有方法“拆分”

这段代码有什么问题?

4

1 回答 1

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/

于 2014-04-01T11:46:34.193 回答