2014-04-01 93 views
0

我正在嘗試使Bloodhound工作。Typeahead.js 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沒有方法 '分裂'

什麼問題在這個代碼?

+0

https://github.com/twitter/typeahead.js/issues/740 –

+0

我看到了,但我需要價值/文字組合,才能夠顯示和保存不同的值。 – user1049961

回答

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/